Updated Branches:
  refs/heads/cassandra-1.0 c68e90b41 -> 02346a1e6

add shutdown to MS.waitForStreaming.  Fixes regression in #3335


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

Branch: refs/heads/cassandra-1.0
Commit: 02346a1e6a4523077f1e7d6fdc0c931f53abbc59
Parents: c68e90b
Author: Jonathan Ellis <[email protected]>
Authored: Wed Dec 28 09:12:46 2011 -0600
Committer: Jonathan Ellis <[email protected]>
Committed: Wed Dec 28 09:12:46 2011 -0600

----------------------------------------------------------------------
 .../org/apache/cassandra/net/MessagingService.java |    1 +
 .../apache/cassandra/service/StorageService.java   |    7 ++++++-
 2 files changed, 7 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/02346a1e/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index e7c86b9..1526fa3 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -465,6 +465,7 @@ public final class MessagingService implements 
MessagingServiceMBean
 
     public void waitForStreaming() throws InterruptedException
     {
+        streamExecutor_.shutdown();
         streamExecutor_.awaitTermination(24, TimeUnit.HOURS);
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/02346a1e/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index e5bff92..9c1195d 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -2492,7 +2492,12 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
         return String.format("Drained %s/%s ColumnFamilies", remainingCFs, 
totalCFs);
     }
 
-    /** shuts node off to writes, empties memtables and the commit log. */
+    /**
+     * Shuts node off to writes, empties memtables and the commit log.
+     * There are two differences between drain and the normal shutdown hook:
+     * - Drain waits for in-progress streaming to complete
+     * - Drain flushes *all* columnfamilies (shutdown hook only flushes 
non-durable CFs)
+     */
     public synchronized void drain() throws IOException, InterruptedException, 
ExecutionException
     {
         ExecutorService mutationStage = StageManager.getStage(Stage.MUTATION);

Reply via email to