Don't do generation safety check when the local gen is zero

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-8113


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/42f85904
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/42f85904
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/42f85904

Branch: refs/heads/cassandra-2.1
Commit: 42f85904221aeaf0181f75af2fa5d469b8cbcee7
Parents: b84d06f
Author: Brandon Williams <brandonwilli...@apache.org>
Authored: Fri Oct 17 15:13:26 2014 -0500
Committer: Brandon Williams <brandonwilli...@apache.org>
Committed: Fri Oct 17 15:13:26 2014 -0500

----------------------------------------------------------------------
 src/java/org/apache/cassandra/gms/Gossiper.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/42f85904/src/java/org/apache/cassandra/gms/Gossiper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java 
b/src/java/org/apache/cassandra/gms/Gossiper.java
index 5f0e576..3fdee88 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -987,7 +987,7 @@ public class Gossiper implements 
IFailureDetectionEventListener, GossiperMBean
                 if (logger.isTraceEnabled())
                     logger.trace(ep + "local generation " + localGeneration + 
", remote generation " + remoteGeneration);
 
-                if (remoteGeneration > localGeneration + 
MAX_GENERATION_DIFFERENCE)
+                if (localGeneration != 0 && remoteGeneration > localGeneration 
+ MAX_GENERATION_DIFFERENCE)
                 {
                     // assume some peer has corrupted memory and is 
broadcasting an unbelievable generation about another peer (or itself)
                     logger.warn("received an invalid gossip generation for 
peer {}; local generation = {}, received generation = {}", ep, localGeneration, 
remoteGeneration);

Reply via email to