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

repair progress message breaks legacy JMX support

    XMLWordPrintableJSON

    Details

    • Severity:
      Low
    • Since Version:

      Description

      The error progress message in RepairRunnable is not compliant with the LegacyJMXProgressSupport class, which uses a regex to match on the text of a progress event. Therefore, actual failures slip through as successes if using legacy JMX for repairs.

      In RepairRunnable

          protected void fireErrorAndComplete(String tag, int progressCount, int totalProgress, String message)
          {
              fireProgressEvent(tag, new ProgressEvent(ProgressEventType.ERROR, progressCount, totalProgress, message));
              fireProgressEvent(tag, new ProgressEvent(ProgressEventType.COMPLETE, progressCount, totalProgress, String.format("Repair command #%d finished with error", cmd)));
          }
      

      Note the "Repair command #%d finished with error"
      See https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/repair/RepairRunnable.java#L109

      In LegacyJMXProgressSupport:

          protected static final Pattern SESSION_FAILED_MATCHER = Pattern.compile("Repair session .* for range .* failed with error .*");
          protected static final Pattern SESSION_SUCCESS_MATCHER = Pattern.compile("Repair session .* for range .* finished");
      

      See https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java#L38

      Legacy JMX support was introduced for CASSANDRA-11430 (version 2.2.6) and the bug was introduced as part of CASSANDRA-12279 (version 2.2.8).

        Attachments

        1. 13121-3.0.txt
          3 kB
          Patrick Bannister

          Issue Links

            Activity

              People

              • Assignee:
                ptbannister Patrick Bannister
                Reporter:
                scottbale Scott Bale
                Authors:
                Patrick Bannister
                Reviewers:
                Michael Semb Wever
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: