This is an automated email from the ASF dual-hosted git repository.

jonmeredith pushed a commit to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
     new 2fdbda6ac9 Schema mutations may not be completed on drain
2fdbda6ac9 is described below

commit 2fdbda6ac98f161513f80e7bbab4ea8ca1c8528a
Author: Jon Meredith <https://jonmered...@apache.org>
AuthorDate: Tue Apr 26 10:16:07 2022 -0600

    Schema mutations may not be completed on drain
    
    patch by Jon Meredith; reviewed by Caleb Rackliffe for CASSANDRA-17524
---
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/service/StorageService.java | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index c481d73fd2..e74b2cba35 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.27
+ * Schema mutations may not be completed on drain (CASSANDRA-17524)
  * Fix data corruption in AbstractCompositeType due to static boolean byte 
buffers (CASSANDRA-14752)
  * Add procps dependency to RPM/Debian packages (CASSANDRA-17516)
  * Suppress CVE-2021-44521 (CASSANDRA-17492)
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 22040c1fed..c78bb0803c 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -4334,10 +4334,12 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
         ExecutorService counterMutationStage = 
StageManager.getStage(Stage.COUNTER_MUTATION);
         ExecutorService viewMutationStage = 
StageManager.getStage(Stage.VIEW_MUTATION);
         ExecutorService mutationStage = StageManager.getStage(Stage.MUTATION);
+        ExecutorService gossipStage = StageManager.getStage(Stage.GOSSIP);
 
         if (mutationStage.isTerminated()
             && counterMutationStage.isTerminated()
-            && viewMutationStage.isTerminated())
+            && viewMutationStage.isTerminated()
+            && gossipStage.isTerminated())
         {
             if (!isFinalShutdown)
                 logger.warn("Cannot drain node (did it already happen?)");
@@ -4380,9 +4382,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
             viewMutationStage.shutdown();
             counterMutationStage.shutdown();
             mutationStage.shutdown();
+            gossipStage.shutdown();
             viewMutationStage.awaitTermination(3600, TimeUnit.SECONDS);
             counterMutationStage.awaitTermination(3600, TimeUnit.SECONDS);
             mutationStage.awaitTermination(3600, TimeUnit.SECONDS);
+            gossipStage.awaitTermination(3600, TimeUnit.SECONDS);
 
             StorageProxy.instance.verifyNoHintsInProgress();
 


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

Reply via email to