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
{