Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-9477

nodetool repair should exit with non-zero status on failure

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Duplicate
    • None
    • Tool/nodetool
    • None

    Description

      Previously nodetool repair would exit with a non-zero status code when it experienced an error (like in CASSANDRA-5203), e.g. due a neighbor being down or a failed stream. It appears this is no longer the case, which makes it a bit harder to automate repair. I suspect it's been this way since CASSANDRA-6381 was implemented, and that it probably affects other nodetool commands as well.

      It looks like NodeProbe tracks when a failure occurs and this is accessible via NodeProbe.isFailed(), but that value is not being used anywhere. I think the problem could be fixed inside NodeTool.NodeToolCmd.run(), if after the execute function is called, probe.isFailed() is checked and a RuntimeException is thrown if a failure has occurred.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            clardeur Clément Lardeur Assign to me
            rbfblk Randy Fradin
            Clément Lardeur
            Randy Fradin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment