[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16407393#comment-16407393 ]
Patrick Bannister edited comment on CASSANDRA-13121 at 5/13/18 1:56 AM: ------------------------------------------------------------------------ I've developed a patch for 3.0. The same changes should also work for 3.11. To effectively test the patch, I recommend using the TestDeprecatedRepairNotifications dtest available in the CASSANDRA-13121 branch of https://github.com/ptbannister/cassandra-dtest. There's a pull request in for this dtest, but right now it's only available in my fork. was (Author: ptbannister): I've developed a patch for 3.0. The same changes should also work for 3.11. To effectively test the patch, I recommend using the TestDeprecatedRepairNotifications dtest available in the CASSANDRA-13121 branch of [https://github.com/ptbannister/cassandra-dtest|[http://example.com].] There's a pull request in for this dtest, but right now it's only available in my fork. > repair progress message breaks legacy JMX support > ------------------------------------------------- > > Key: CASSANDRA-13121 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13121 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging > Reporter: Scott Bale > Assignee: Patrick Bannister > Priority: Minor > Labels: jmx, lhf, notifications, repair > Fix For: 3.0.x, 3.11.x > > Attachments: 13121-3.0.txt > > > 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}} > {code} > 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))); > } > {code} > 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}}: > {code} > 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"); > {code} > 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). -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org