You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by vi...@apache.org on 2012/03/30 20:49:44 UTC

git commit: CASSANDRA-4099-reopened patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 Conflicts: src/java/org/apache/cassandra/net/IncomingTcpConnection.java

Updated Branches:
  refs/heads/trunk 6c5b1b663 -> 03c3fec4c


CASSANDRA-4099-reopened
patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098
Conflicts:
	src/java/org/apache/cassandra/net/IncomingTcpConnection.java


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

Branch: refs/heads/trunk
Commit: 03c3fec4c13e6c3214619efd6263dbd38a77ea90
Parents: 6c5b1b6
Author: Vijay Parthasarathy <vi...@gmail.com>
Authored: Fri Mar 30 11:49:31 2012 -0700
Committer: Vijay Parthasarathy <vi...@gmail.com>
Committed: Fri Mar 30 11:49:31 2012 -0700

----------------------------------------------------------------------
 .../cassandra/net/IncomingTcpConnection.java       |   22 +++++++--------
 1 files changed, 10 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/03c3fec4/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
index d7a3de4..4f91b3c 100644
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@ -86,20 +86,16 @@ public class IncomingTcpConnection extends Thread
             // we should buffer
             input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
             // Receive the first message to set the version.
-            Message msg = receiveMessage(input, version);
-            from = msg.getFrom(); // why? see => CASSANDRA-4099
+            from = receiveMessage(input, version); // why? see => CASSANDRA-4099
             if (version > MessagingService.current_version)
             {
                 // save the endpoint so gossip will reconnect to it
                 Gossiper.instance.addSavedEndpoint(from);
                 logger.info("Received " + (isStream ? "streaming " : "") + "connection from newer protocol version. Ignoring");
+                return;
             }
-            else if (msg != null)
-            {
-                Gossiper.instance.setVersion(from, version);
-                logger.debug("set version for {} to {}", from, version);
-            }
-
+            Gossiper.instance.setVersion(from, version);
+            logger.debug("set version for {} to {}", from, version);            
             // loop to get the next message.
             while (true)
             {
@@ -127,7 +123,7 @@ public class IncomingTcpConnection extends Thread
         }
     }
 
-    private Message receiveMessage(DataInputStream input, int version) throws IOException
+    private InetAddress receiveMessage(DataInputStream input, int version) throws IOException
     {
         int totalSize = input.readInt();
         String id = input.readUTF();
@@ -152,10 +148,12 @@ public class IncomingTcpConnection extends Thread
         {
             Message message = new Message(header, body, version);
             MessagingService.instance().receive(message, id);
-            return message;
         }
-        logger.debug("Received connection from newer protocol version {}. Ignoring message", version);
-        return null;
+        else
+        {
+            logger.debug("Received connection from newer protocol version {}. Ignoring message", version);
+        }
+        return header.getFrom();
     }
 
     private void close()