Author: jbellis
Date: Sat Jul 16 01:52:00 2011
New Revision: 1147355

URL: http://svn.apache.org/viewvc?rev=1147355&view=rev
Log:
reset protocol-version-to-attempt when reconnecting to a node
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-2860

Modified:
    cassandra/branches/cassandra-0.8/CHANGES.txt
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1147355&r1=1147354&r2=1147355&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Sat Jul 16 01:52:00 2011
@@ -25,6 +25,7 @@
  * decrease HH page size (CASSANDRA-2832)
  * reset cli keyspace after dropping the current one (CASSANDRA-2763)
  * add KeyRange option to Hadoop inputformat (CASSANDRA-1125)
+ * fix protocol versioning (CASSANDRA-2818, 2860)
  * support spaces in path to log4j configuration (CASSANDRA-2383)
 
 

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1147355&r1=1147354&r2=1147355&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/gms/Gossiper.java
 Sat Jul 16 01:52:00 2011
@@ -194,6 +194,11 @@ public class Gossiper implements IFailur
         versions.put(address, version);
     }
     
+    public void resetVersion(InetAddress endpoint)
+    {
+        versions.remove(endpoint);
+    }
+
     public Integer getVersion(InetAddress address)
     {
         Integer v = versions.get(address);

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java?rev=1147355&r1=1147354&r2=1147355&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
 Sat Jul 16 01:52:00 2011
@@ -30,6 +30,7 @@ import java.nio.ByteBuffer;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
+import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -138,6 +139,9 @@ public class OutboundTcpConnection exten
             output = null;
             socket = null;
         }
+
+        // when we see the node again, try to connect at the most recent 
protocol we know about
+        Gossiper.instance.resetVersion(endpoint);
     }
 
     private ByteBuffer take()


Reply via email to