Author: jbellis Date: Wed Dec 1 22:34:15 2010 New Revision: 1041198 URL: http://svn.apache.org/viewvc?rev=1041198&view=rev Log: clean up log messages for gossip token notifications (backport from 0.7)
Modified: cassandra/branches/cassandra-0.6/CHANGES.txt cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java Modified: cassandra/branches/cassandra-0.6/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=1041198&r1=1041197&r2=1041198&view=diff ============================================================================== --- cassandra/branches/cassandra-0.6/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.6/CHANGES.txt Wed Dec 1 22:34:15 2010 @@ -10,6 +10,7 @@ * detect and warn when obsolete version of JNA is present (CASSANDRA-1770) * fix live-column-count of slice ranges including tombstoned supercolumn with live subcolumn (CASSANDRA-1591) + * clean up log messages for gossip token notifications (CASSANDRA-1518) 0.6.8 Modified: cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java?rev=1041198&r1=1041197&r2=1041198&view=diff ============================================================================== --- cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java (original) +++ cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageService.java Wed Dec 1 22:34:15 2010 @@ -557,28 +557,48 @@ public class StorageService implements I * @param endPoint node * @param pieces STATE_NORMAL,token[,other_state,token] */ - private void handleStateNormal(InetAddress endPoint, String[] pieces) + private void handleStateNormal(InetAddress endpoint, String[] pieces) { assert pieces.length >= 2; - Token token = getPartitioner().getTokenFactory().fromString(pieces[1]); + Token token = getPartitioner().getTokenFactory().fromString(pieces[1]); if (logger_.isDebugEnabled()) - logger_.debug("Node " + endPoint + " state normal, token " + token); + logger_.debug("Node " + endpoint + " state normal, token " + token); - if (tokenMetadata_.isMember(endPoint)) - logger_.info("Node " + endPoint + " state jump to normal"); + if (tokenMetadata_.isMember(endpoint)) + logger_.info("Node " + endpoint + " state jump to normal"); // we don't want to update if this node is responsible for the token and it has a later startup time than endpoint. InetAddress currentNode = tokenMetadata_.getEndPoint(token); - if (currentNode == null || Gossiper.instance.compareEndpointStartup(endPoint, currentNode) > 0) - tokenMetadata_.updateNormalToken(token, endPoint); + if (currentNode == null) + { + logger_.debug("New node " + endpoint + " at token " + token); + tokenMetadata_.updateNormalToken(token, endpoint); + if (!isClientMode) + SystemTable.updateToken(endpoint, token); + } + else if (endpoint.equals(currentNode)) + { + // nothing to do + } + else if (Gossiper.instance.compareEndpointStartup(endpoint, currentNode) > 0) + { + logger_.info(String.format("Nodes %s and %s have the same token %s. %s is the new owner", + endpoint, currentNode, token, endpoint)); + tokenMetadata_.updateNormalToken(token, endpoint); + if (!isClientMode) + SystemTable.updateToken(endpoint, token); + } else - logger_.info("Will not change my token ownership to " + endPoint); - + { + logger_.info(String.format("Nodes %s and %s have the same token %s. Ignoring %s", + endpoint, currentNode, token, endpoint)); + } + if (pieces.length > 2) { if (REMOVE_TOKEN.equals(pieces[2])) - { + { // remove token was called on a dead node. Token tokenThatLeft = getPartitioner().getTokenFactory().fromString(pieces[3]); InetAddress endpointThatLeft = tokenMetadata_.getEndPoint(tokenThatLeft); @@ -598,10 +618,8 @@ public class StorageService implements I tokenMetadata_.removeBootstrapToken(tokenThatLeft); } } - + calculatePendingRanges(); - if (!isClientMode) - SystemTable.updateToken(endPoint, token); } /**