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);
}
/**