You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2015/05/12 17:57:04 UTC
[1/6] cassandra git commit: Fix ReconnectableSnitch reconnecting to
peers during upgrade
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.0 15235ee63 -> a7cae3255
refs/heads/cassandra-2.1 ed0026fed -> 2e7b0884a
refs/heads/trunk fa4a020ac -> 5ff69f2c9
Fix ReconnectableSnitch reconnecting to peers during upgrade
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a7cae325
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a7cae325
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a7cae325
Branch: refs/heads/cassandra-2.0
Commit: a7cae3255cc7a8014804c7642eaefc6f35099a3e
Parents: 15235ee
Author: Blake Eggleston <bd...@gmail.com>
Authored: Tue May 12 10:55:43 2015 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue May 12 10:56:04 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/locator/ReconnectableSnitchHelper.java | 1 -
.../apache/cassandra/net/IncomingTcpConnection.java | 14 ++++----------
3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d3715c4..685b945 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.0.15:
+ * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java b/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
index e5dbdeb..3277af7 100644
--- a/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
+++ b/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
@@ -60,7 +60,6 @@ public class ReconnectableSnitchHelper implements IEndpointStateChangeSubscriber
private void reconnect(InetAddress publicAddress, InetAddress localAddress)
{
if (snitch.getDatacenter(publicAddress).equals(localDc)
- && MessagingService.instance().getVersion(publicAddress) == MessagingService.current_version
&& !MessagingService.instance().getConnectionPool(publicAddress).endPoint().equals(localAddress))
{
MessagingService.instance().getConnectionPool(publicAddress).reset(localAddress);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/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 b61e82e..4817c75 100644
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@ -119,11 +119,14 @@ public class IncomingTcpConnection extends Thread implements Closeable
{
// handshake (true) endpoint versions
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
+ // if this version is < the MS version the other node is trying
+ // to connect with, the other node will disconnect
out.writeInt(MessagingService.current_version);
out.flush();
DataInputStream in = new DataInputStream(socket.getInputStream());
int maxVersion = in.readInt();
-
+ // outbound side will reconnect if necessary to upgrade version
+ assert version <= MessagingService.current_version;
from = CompactEndpointSerializationHelper.deserialize(in);
// record the (true) version of the endpoint
MessagingService.instance().setVersion(from, maxVersion);
@@ -139,15 +142,6 @@ public class IncomingTcpConnection extends Thread implements Closeable
in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
}
- if (version > MessagingService.current_version)
- {
- // save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(from);
- logger.info("Received messages from newer protocol version {}. Ignoring", version);
- return;
- }
- // outbound side will reconnect if necessary to upgrade version
-
while (true)
{
MessagingService.validateMagic(in.readInt());
[2/6] cassandra git commit: Fix ReconnectableSnitch reconnecting to
peers during upgrade
Posted by jb...@apache.org.
Fix ReconnectableSnitch reconnecting to peers during upgrade
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a7cae325
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a7cae325
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a7cae325
Branch: refs/heads/cassandra-2.1
Commit: a7cae3255cc7a8014804c7642eaefc6f35099a3e
Parents: 15235ee
Author: Blake Eggleston <bd...@gmail.com>
Authored: Tue May 12 10:55:43 2015 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue May 12 10:56:04 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/locator/ReconnectableSnitchHelper.java | 1 -
.../apache/cassandra/net/IncomingTcpConnection.java | 14 ++++----------
3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d3715c4..685b945 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.0.15:
+ * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java b/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
index e5dbdeb..3277af7 100644
--- a/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
+++ b/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
@@ -60,7 +60,6 @@ public class ReconnectableSnitchHelper implements IEndpointStateChangeSubscriber
private void reconnect(InetAddress publicAddress, InetAddress localAddress)
{
if (snitch.getDatacenter(publicAddress).equals(localDc)
- && MessagingService.instance().getVersion(publicAddress) == MessagingService.current_version
&& !MessagingService.instance().getConnectionPool(publicAddress).endPoint().equals(localAddress))
{
MessagingService.instance().getConnectionPool(publicAddress).reset(localAddress);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/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 b61e82e..4817c75 100644
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@ -119,11 +119,14 @@ public class IncomingTcpConnection extends Thread implements Closeable
{
// handshake (true) endpoint versions
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
+ // if this version is < the MS version the other node is trying
+ // to connect with, the other node will disconnect
out.writeInt(MessagingService.current_version);
out.flush();
DataInputStream in = new DataInputStream(socket.getInputStream());
int maxVersion = in.readInt();
-
+ // outbound side will reconnect if necessary to upgrade version
+ assert version <= MessagingService.current_version;
from = CompactEndpointSerializationHelper.deserialize(in);
// record the (true) version of the endpoint
MessagingService.instance().setVersion(from, maxVersion);
@@ -139,15 +142,6 @@ public class IncomingTcpConnection extends Thread implements Closeable
in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
}
- if (version > MessagingService.current_version)
- {
- // save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(from);
- logger.info("Received messages from newer protocol version {}. Ignoring", version);
- return;
- }
- // outbound side will reconnect if necessary to upgrade version
-
while (true)
{
MessagingService.validateMagic(in.readInt());
[4/6] cassandra git commit: merge from 2.0
Posted by jb...@apache.org.
merge from 2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e7b0884
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e7b0884
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e7b0884
Branch: refs/heads/trunk
Commit: 2e7b0884a2d2324642eca99707a3f25fef77362f
Parents: ed0026f a7cae32
Author: Jonathan Ellis <jb...@apache.org>
Authored: Tue May 12 10:56:43 2015 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue May 12 10:56:43 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/locator/ReconnectableSnitchHelper.java | 1 -
.../apache/cassandra/net/IncomingTcpConnection.java | 14 ++++----------
3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e7b0884/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6e586a3,685b945..aa5f235
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,5 +1,25 @@@
-2.0.15:
+2.1.6
+ * Fix commitlog getCompletedTasks to not increment (CASSANDRA-9339)
+ * Fix for harmless exceptions logged as ERROR (CASSANDRA-8564)
+ * Delete processed sstables in sstablesplit/sstableupgrade (CASSANDRA-8606)
+ * Improve sstable exclusion from partition tombstones (CASSANDRA-9298)
+ * Validate the indexed column rather than the cell's contents for 2i (CASSANDRA-9057)
+ * Add support for top-k custom 2i queries (CASSANDRA-8717)
+ * Fix error when dropping table during compaction (CASSANDRA-9251)
+ * cassandra-stress supports validation operations over user profiles (CASSANDRA-8773)
+ * Add support for rate limiting log messages (CASSANDRA-9029)
+ * Log the partition key with tombstone warnings (CASSANDRA-8561)
+ * Reduce runWithCompactionsDisabled poll interval to 1ms (CASSANDRA-9271)
+ * Fix PITR commitlog replay (CASSANDRA-9195)
+ * GCInspector logs very different times (CASSANDRA-9124)
+ * Fix deleting from an empty list (CASSANDRA-9198)
+ * Update tuple and collection types that use a user-defined type when that UDT
+ is modified (CASSANDRA-9148, CASSANDRA-9192)
+ * Use higher timeout for prepair and snapshot in repair (CASSANDRA-9261)
+ * Fix anticompaction blocking ANTI_ENTROPY stage (CASSANDRA-9151)
+ * Repair waits for anticompaction to finish (CASSANDRA-9097)
+Merged from 2.0:
+ * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e7b0884/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/IncomingTcpConnection.java
index 08baf89,4817c75..2456050
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@@ -158,18 -139,9 +161,9 @@@ public class IncomingTcpConnection exte
}
else
{
- in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
+ in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), BUFFER_SIZE));
}
- if (version > MessagingService.current_version)
- {
- // save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(from);
- logger.info("Received messages from newer protocol version {}. Ignoring", version);
- return;
- }
- // outbound side will reconnect if necessary to upgrade version
-
while (true)
{
MessagingService.validateMagic(in.readInt());
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Posted by jb...@apache.org.
Merge branch 'cassandra-2.1' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5ff69f2c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5ff69f2c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5ff69f2c
Branch: refs/heads/trunk
Commit: 5ff69f2c92c170505fc7749fd814db7c74a38653
Parents: fa4a020 2e7b088
Author: Jonathan Ellis <jb...@apache.org>
Authored: Tue May 12 10:56:50 2015 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue May 12 10:56:50 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/locator/ReconnectableSnitchHelper.java | 1 -
.../apache/cassandra/net/IncomingTcpConnection.java | 14 ++++----------
3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ff69f2c/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ff69f2c/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/IncomingTcpConnection.java
index d8721eb,2456050..c325717
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@@ -131,11 -130,14 +131,14 @@@ public class IncomingTcpConnection exte
{
// handshake (true) endpoint versions
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
+ // if this version is < the MS version the other node is trying
+ // to connect with, the other node will disconnect
out.writeInt(MessagingService.current_version);
out.flush();
- DataInputStream in = new DataInputStream(socket.getInputStream());
+ DataInput in = new DataInputStream(socket.getInputStream());
int maxVersion = in.readInt();
-
+ // outbound side will reconnect if necessary to upgrade version
+ assert version <= MessagingService.current_version;
from = CompactEndpointSerializationHelper.deserialize(in);
// record the (true) version of the endpoint
MessagingService.instance().setVersion(from, maxVersion);
@@@ -159,18 -161,9 +162,9 @@@
}
else
{
- in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), BUFFER_SIZE));
+ in = new NIODataInputStream(socket.getChannel(), BUFFER_SIZE);
}
- if (version > MessagingService.current_version)
- {
- // save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(from);
- logger.info("Received messages from newer protocol version {}. Ignoring", version);
- return;
- }
- // outbound side will reconnect if necessary to upgrade version
-
while (true)
{
MessagingService.validateMagic(in.readInt());
[5/6] cassandra git commit: merge from 2.0
Posted by jb...@apache.org.
merge from 2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2e7b0884
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2e7b0884
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2e7b0884
Branch: refs/heads/cassandra-2.1
Commit: 2e7b0884a2d2324642eca99707a3f25fef77362f
Parents: ed0026f a7cae32
Author: Jonathan Ellis <jb...@apache.org>
Authored: Tue May 12 10:56:43 2015 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue May 12 10:56:43 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/locator/ReconnectableSnitchHelper.java | 1 -
.../apache/cassandra/net/IncomingTcpConnection.java | 14 ++++----------
3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e7b0884/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6e586a3,685b945..aa5f235
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,5 +1,25 @@@
-2.0.15:
+2.1.6
+ * Fix commitlog getCompletedTasks to not increment (CASSANDRA-9339)
+ * Fix for harmless exceptions logged as ERROR (CASSANDRA-8564)
+ * Delete processed sstables in sstablesplit/sstableupgrade (CASSANDRA-8606)
+ * Improve sstable exclusion from partition tombstones (CASSANDRA-9298)
+ * Validate the indexed column rather than the cell's contents for 2i (CASSANDRA-9057)
+ * Add support for top-k custom 2i queries (CASSANDRA-8717)
+ * Fix error when dropping table during compaction (CASSANDRA-9251)
+ * cassandra-stress supports validation operations over user profiles (CASSANDRA-8773)
+ * Add support for rate limiting log messages (CASSANDRA-9029)
+ * Log the partition key with tombstone warnings (CASSANDRA-8561)
+ * Reduce runWithCompactionsDisabled poll interval to 1ms (CASSANDRA-9271)
+ * Fix PITR commitlog replay (CASSANDRA-9195)
+ * GCInspector logs very different times (CASSANDRA-9124)
+ * Fix deleting from an empty list (CASSANDRA-9198)
+ * Update tuple and collection types that use a user-defined type when that UDT
+ is modified (CASSANDRA-9148, CASSANDRA-9192)
+ * Use higher timeout for prepair and snapshot in repair (CASSANDRA-9261)
+ * Fix anticompaction blocking ANTI_ENTROPY stage (CASSANDRA-9151)
+ * Repair waits for anticompaction to finish (CASSANDRA-9097)
+Merged from 2.0:
+ * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2e7b0884/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/IncomingTcpConnection.java
index 08baf89,4817c75..2456050
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@@ -158,18 -139,9 +161,9 @@@ public class IncomingTcpConnection exte
}
else
{
- in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
+ in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), BUFFER_SIZE));
}
- if (version > MessagingService.current_version)
- {
- // save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(from);
- logger.info("Received messages from newer protocol version {}. Ignoring", version);
- return;
- }
- // outbound side will reconnect if necessary to upgrade version
-
while (true)
{
MessagingService.validateMagic(in.readInt());
[3/6] cassandra git commit: Fix ReconnectableSnitch reconnecting to
peers during upgrade
Posted by jb...@apache.org.
Fix ReconnectableSnitch reconnecting to peers during upgrade
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a7cae325
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a7cae325
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a7cae325
Branch: refs/heads/trunk
Commit: a7cae3255cc7a8014804c7642eaefc6f35099a3e
Parents: 15235ee
Author: Blake Eggleston <bd...@gmail.com>
Authored: Tue May 12 10:55:43 2015 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue May 12 10:56:04 2015 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/locator/ReconnectableSnitchHelper.java | 1 -
.../apache/cassandra/net/IncomingTcpConnection.java | 14 ++++----------
3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d3715c4..685b945 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.0.15:
+ * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java b/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
index e5dbdeb..3277af7 100644
--- a/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
+++ b/src/java/org/apache/cassandra/locator/ReconnectableSnitchHelper.java
@@ -60,7 +60,6 @@ public class ReconnectableSnitchHelper implements IEndpointStateChangeSubscriber
private void reconnect(InetAddress publicAddress, InetAddress localAddress)
{
if (snitch.getDatacenter(publicAddress).equals(localDc)
- && MessagingService.instance().getVersion(publicAddress) == MessagingService.current_version
&& !MessagingService.instance().getConnectionPool(publicAddress).endPoint().equals(localAddress))
{
MessagingService.instance().getConnectionPool(publicAddress).reset(localAddress);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7cae325/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 b61e82e..4817c75 100644
--- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
@@ -119,11 +119,14 @@ public class IncomingTcpConnection extends Thread implements Closeable
{
// handshake (true) endpoint versions
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
+ // if this version is < the MS version the other node is trying
+ // to connect with, the other node will disconnect
out.writeInt(MessagingService.current_version);
out.flush();
DataInputStream in = new DataInputStream(socket.getInputStream());
int maxVersion = in.readInt();
-
+ // outbound side will reconnect if necessary to upgrade version
+ assert version <= MessagingService.current_version;
from = CompactEndpointSerializationHelper.deserialize(in);
// record the (true) version of the endpoint
MessagingService.instance().setVersion(from, maxVersion);
@@ -139,15 +142,6 @@ public class IncomingTcpConnection extends Thread implements Closeable
in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
}
- if (version > MessagingService.current_version)
- {
- // save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(from);
- logger.info("Received messages from newer protocol version {}. Ignoring", version);
- return;
- }
- // outbound side will reconnect if necessary to upgrade version
-
while (true)
{
MessagingService.validateMagic(in.readInt());