Fix deprecated repair error notifications from 3.x clusters to legacy JMX 
clients

 patch by Patrick Bannister; reviewed by Mick Semb Wever for CASSANDRA-13121


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6efa99c7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6efa99c7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6efa99c7

Branch: refs/heads/trunk
Commit: 6efa99c7a753e3ec04b7d5b5f50461e90d416db2
Parents: b9b2a4e
Author: Mick Semb Wever <m...@apache.org>
Authored: Sun May 13 11:47:46 2018 +1000
Committer: Mick Semb Wever <m...@apache.org>
Committed: Mon May 14 19:05:30 2018 +1000

----------------------------------------------------------------------
 CHANGES.txt                                                       | 1 +
 src/java/org/apache/cassandra/repair/RepairRunnable.java          | 2 +-
 .../cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java    | 3 ++-
 3 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6efa99c7/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7c557f7..3da808a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.17
+ * Fix deprecated repair error notifications from 3.x clusters to legacy JMX 
clients (CASSANDRA-13121)
  * Cassandra not starting when using enhanced startup scripts in windows 
(CASSANDRA-14418)
  * Fix progress stats and units in compactionstats (CASSANDRA-12244)
  * Better handle missing partition columns in system_schema.columns 
(CASSANDRA-14379)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6efa99c7/src/java/org/apache/cassandra/repair/RepairRunnable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/RepairRunnable.java 
b/src/java/org/apache/cassandra/repair/RepairRunnable.java
index 77726d4..774409f 100644
--- a/src/java/org/apache/cassandra/repair/RepairRunnable.java
+++ b/src/java/org/apache/cassandra/repair/RepairRunnable.java
@@ -103,7 +103,7 @@ public class RepairRunnable extends WrappedRunnable 
implements ProgressEventNoti
 
     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.ERROR, 
progressCount, totalProgress, String.format("Repair command #%d failed with 
error %s", cmd, message)));
         fireProgressEvent(tag, new ProgressEvent(ProgressEventType.COMPLETE, 
progressCount, totalProgress, String.format("Repair command #%d finished with 
error", cmd)));
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6efa99c7/src/java/org/apache/cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java
 
b/src/java/org/apache/cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java
index 275673e..91629fe 100644
--- 
a/src/java/org/apache/cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java
+++ 
b/src/java/org/apache/cassandra/utils/progress/jmx/LegacyJMXProgressSupport.java
@@ -35,7 +35,7 @@ import static 
org.apache.cassandra.service.ActiveRepairService.Status;
  */
 public class LegacyJMXProgressSupport implements ProgressListener
 {
-    protected static final Pattern SESSION_FAILED_MATCHER = 
Pattern.compile("Repair session .* for range .* failed with error .*");
+    protected static final Pattern SESSION_FAILED_MATCHER = 
Pattern.compile("Repair session .* for range .* failed with error .*|Repair 
command .* failed with error .*");
     protected static final Pattern SESSION_SUCCESS_MATCHER = 
Pattern.compile("Repair session .* for range .* finished");
 
     private final AtomicLong notificationSerialNumber = new AtomicLong();
@@ -86,6 +86,7 @@ public class LegacyJMXProgressSupport implements 
ProgressListener
                 return Optional.of(Status.STARTED);
             case COMPLETE:
                 return Optional.of(Status.FINISHED);
+            case ERROR:
             case PROGRESS:
                 if 
(SESSION_FAILED_MATCHER.matcher(event.getMessage()).matches())
                 {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to