Merge branch 'cassandra-2.0' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5afc79b2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5afc79b2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5afc79b2 Branch: refs/heads/trunk Commit: 5afc79b27eb3cba7862266dad9f6e74a39c5da85 Parents: 7dec15b 39bdb2b Author: Brandon Williams <brandonwilli...@apache.org> Authored: Wed Jan 29 17:35:32 2014 -0600 Committer: Brandon Williams <brandonwilli...@apache.org> Committed: Wed Jan 29 17:35:32 2014 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 2 +- .../cassandra/service/StorageService.java | 39 +++++++++++++++++--- 3 files changed, 35 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5afc79b2/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5afc79b2/src/java/org/apache/cassandra/gms/Gossiper.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5afc79b2/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/StorageService.java index b5b2445,9eb4e92..fe04b81 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -1436,18 -1438,31 +1436,24 @@@ public class StorageService extends Not * in reads. * * @param endpoint node - * @param pieces STATE_NORMAL,token */ - private void handleStateNormal(final InetAddress endpoint, String[] pieces) + private void handleStateNormal(final InetAddress endpoint) { - assert pieces.length >= 2; - - // Parse versioned values according to end-point version: - // versions < 1.2 .....: STATUS,TOKEN - // versions >= 1.2 .....: uses HOST_ID/TOKENS app states - Collection<Token> tokens; - tokens = getTokensFor(endpoint, pieces[1]); + tokens = getTokensFor(endpoint); + Set<Token> tokensToUpdateInMetadata = new HashSet<Token>(); + Set<Token> tokensToUpdateInSystemKeyspace = new HashSet<Token>(); + Set<Token> localTokensToRemove = new HashSet<Token>(); + Set<InetAddress> endpointsToRemove = new HashSet<InetAddress>(); + + if (logger.isDebugEnabled()) - logger.debug("Node " + endpoint + " state normal, token " + tokens); + logger.debug("Node {} state normal, token {}", endpoint, tokens); if (tokenMetadata.isMember(endpoint)) - logger.info("Node " + endpoint + " state jump to normal"); + logger.info("Node {} state jump to normal", endpoint); // Order Matters, TM.updateHostID() should be called before TM.updateNormalToken(), (see CASSANDRA-4300). if (Gossiper.instance.usesHostId(endpoint))