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 <[email protected]>
Authored: Fri Mar 30 11:49:31 2012 -0700
Committer: Vijay Parthasarathy <[email protected]>
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()