[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16473958#comment-16473958 ] ASF GitHub Bot commented on CASSANDRA-13121: Github user asfgit closed the pull request at: https://github.com/apache/cassandra-dtest/pull/22 > 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
[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16473940#comment-16473940 ] mck commented on CASSANDRA-13121: - *aTest results*: - 3.0 & 3.11 -- {{CompressedInputStreamTest}}s failed. Known flakey, bc timeouts. Tested ok locally. *dTest results*: - 3.0: 13 failures vs 15 failures on the 3.0 branch. No new failures from patch. - 3.11: 10 failures vs 6 failures on trunk. -- failures in {{repair_test}}. Known flakey. Tested ok locally. > 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
[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16473335#comment-16473335 ] mck commented on CASSANDRA-13121: - [~ptbannister], i've put in your patches for testing (including your dtest change). I'll take a closer look at the code and can commit if all looks ok. || Branch || uTest || aTest || dTest || | [cassandra-3.0_13121|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.0_13121]|[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.0_13121.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.0_13121] | [!https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-testall/29/badge/icon!|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-testall/29] | [!https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/556/badge/icon!|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/556] | | [cassandra-3.11_13121|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.11_13121] |[!https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_13121.svg?style=svg!|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_13121 ]| [!https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-testall/30/badge/icon!|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-testall/30] | [!https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/557/badge/icon!|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/557] | | [dtest_13121|https://github.com/thelastpickle/cassandra-dtest/tree/mck/CASSANDRA-13121] |[!https://circleci.com/gh/thelastpickle/workflows/cassandra-dtest/tree/mck%2FCASSANDRA-13121.svg?style=svg!|https://circleci.com/gh/thelastpickle/workflows/cassandra-dtest/tree/mck%2FCASSANDRA-13121]| | | > 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
[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16473334#comment-16473334 ] Patrick Bannister commented on CASSANDRA-13121: --- Thanks for reviewing this ticket! > 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
[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16403834#comment-16403834 ] Patrick Bannister commented on CASSANDRA-13121: --- I posted a pull request to cassandra-dtest for a new dtest (TestDeprecatedRepairNotifications in repair_tests/deprecated_repair_test.py) to test this issue: [https://github.com/apache/cassandra-dtest/pull/22|http://example.com/] > 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 > Labels: lhf > > 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
[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16392356#comment-16392356 ] Patrick Bannister commented on CASSANDRA-13121: --- Would you please assign this issue to me? I'm finishing up a fix and a dtest for this issue, and I should have a patch soon for 3.11.2. > 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 > Labels: lhf > > 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
[jira] [Commented] (CASSANDRA-13121) repair progress message breaks legacy JMX support
[ https://issues.apache.org/jira/browse/CASSANDRA-13121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15822076#comment-15822076 ] Scott Bale commented on CASSANDRA-13121: Note also the comment elsewhere in {{RepairRunnable}}: {code} public void onFailure(Throwable t) { /** * If the failure message below is modified, it must also be updated on * {@link org.apache.cassandra.utils.progress.jmx.LegacyJMXProgressSupport} * for backward-compatibility support. */ String message = String.format("Repair session %s for range %s failed with error %s", session.getId(), session.getRange().toString(), t.getMessage()); {code} https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/repair/RepairRunnable.java#L269 > 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)