You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/02/09 00:44:08 UTC

[7/8] git commit: Fix inconsistent state after forced removetoken. Patch by Sam Overton, reviewed by brandonwilliams for CASSANDRA-3876

Fix inconsistent state after forced removetoken.
Patch by Sam Overton, reviewed by brandonwilliams for CASSANDRA-3876


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

Branch: refs/heads/trunk
Commit: 63da8815aa93a84919c9bf359d5277324025b6fd
Parents: 2187530
Author: Brandon Williams <br...@apache.org>
Authored: Wed Feb 8 08:17:05 2012 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Wed Feb 8 08:19:36 2012 -0600

----------------------------------------------------------------------
 .../apache/cassandra/service/StorageService.java   |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63da8815/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 9f60e58..1f7a18d 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -2342,10 +2342,12 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
             logger_.warn("Removal not confirmed for for " + StringUtils.join(this.replicatingNodes, ","));
             for (InetAddress endpoint : tokenMetadata_.getLeavingEndpoints())
             {
-                Gossiper.instance.advertiseTokenRemoved(endpoint, tokenMetadata_.getToken(endpoint));
-                tokenMetadata_.removeEndpoint(endpoint);
+                Token token = tokenMetadata_.getToken(endpoint);
+                Gossiper.instance.advertiseTokenRemoved(endpoint, token);
+                excise(token, endpoint);
             }
             replicatingNodes.clear();
+            removingNode = null;
         }
         else
         {