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

nodetool repair should exit with non-zero status on failure

    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

        1. cassandra-2.1-9477.patch
          0.7 kB
          Clément Lardeur

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: