You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Scott Bale (JIRA)" <ji...@apache.org> on 2017/01/13 18:03:26 UTC
[jira] [Created] (CASSANDRA-13121) repair progress message breaks
legacy JMX support
Scott Bale created CASSANDRA-13121:
--------------------------------------
Summary: 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
Priority: Minor
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
(v6.3.4#6332)