You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2012/05/31 18:10:27 UTC
git commit: update host ID before token
Updated Branches:
refs/heads/trunk d71250349 -> dc9e70eda
update host ID before token
Patch by eevans; reviewed by Brandon Williams for CASSANDRA-4300
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dc9e70ed
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dc9e70ed
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dc9e70ed
Branch: refs/heads/trunk
Commit: dc9e70eda38ee5dfb6fa2e80bc59b46d49dffa77
Parents: d712503
Author: Eric Evans <ee...@apache.org>
Authored: Thu May 31 13:54:46 2012 +0100
Committer: Eric Evans <ee...@apache.org>
Committed: Thu May 31 17:11:01 2012 +0100
----------------------------------------------------------------------
.../apache/cassandra/service/StorageService.java | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/dc9e70ed/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 4f4c996..af34413 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1083,6 +1083,10 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
if (tokenMetadata.isMember(endpoint))
logger.info("Node " + endpoint + " state jump to normal");
+ // Order Matters, TM.updateHostID() should be called before TM.updateNormalToken(), (see CASSANDRA-4300).
+ if (Gossiper.instance.getVersion(endpoint) >= MessagingService.VERSION_12)
+ tokenMetadata.updateHostId(UUID.fromString(pieces[1]), endpoint);
+
// we don't want to update if this node is responsible for the token and it has a later startup time than endpoint.
InetAddress currentOwner = tokenMetadata.getEndpoint(token);
if (currentOwner == null)
@@ -1117,9 +1121,6 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
tokenMetadata.removeFromMoving(endpoint);
calculatePendingRanges();
-
- if (Gossiper.instance.getVersion(endpoint) >= MessagingService.VERSION_12)
- tokenMetadata.updateHostId(UUID.fromString(pieces[1]), endpoint);
}
/**