You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/02/05 22:39:15 UTC
[5/5] git commit: fix broadcastAddress and
Ec2MultiRegionSnitch.reconnect patch by Vijay;
reviewed by Brandon Williams for CASSANDRA-3835
fix broadcastAddress and Ec2MultiRegionSnitch.reconnect
patch by Vijay; reviewed by Brandon Williams for CASSANDRA-3835
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b4eae7cd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b4eae7cd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b4eae7cd
Branch: refs/heads/cassandra-1.1
Commit: b4eae7cd44c73d64af3f0f38149c1065aceb38ee
Parents: 2d8ef13
Author: Vijay Parthasarathy <vi...@gmail.com>
Authored: Wed Feb 1 19:21:20 2012 -0800
Committer: Vijay Parthasarathy <vi...@gmail.com>
Committed: Wed Feb 1 19:21:20 2012 -0800
----------------------------------------------------------------------
src/java/org/apache/cassandra/cli/CliClient.java | 10 +---------
src/java/org/apache/cassandra/db/SystemTable.java | 2 +-
src/java/org/apache/cassandra/gms/Gossiper.java | 2 +-
.../cassandra/net/OutboundTcpConnection.java | 5 +++++
.../cassandra/net/OutboundTcpConnectionPool.java | 6 ++++--
.../apache/cassandra/service/MigrationManager.java | 2 +-
6 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4eae7cd/src/java/org/apache/cassandra/cli/CliClient.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cli/CliClient.java b/src/java/org/apache/cassandra/cli/CliClient.java
index 61cc53e..6b1e637 100644
--- a/src/java/org/apache/cassandra/cli/CliClient.java
+++ b/src/java/org/apache/cassandra/cli/CliClient.java
@@ -1155,15 +1155,7 @@ public class CliClient
{
SimpleSnitch snitch = new SimpleSnitch();
Map<String, String> options = new HashMap<String, String>();
-
- try
- {
- options.put(snitch.getDatacenter(InetAddress.getLocalHost()), "1");
- }
- catch (UnknownHostException e)
- {
- throw new RuntimeException(e);
- }
+ options.put(snitch.getDatacenter(FBUtilities.getBroadcastAddress()), "1");
ksDef.setStrategy_options(options);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4eae7cd/src/java/org/apache/cassandra/db/SystemTable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SystemTable.java b/src/java/org/apache/cassandra/db/SystemTable.java
index c831382..7e13fc4 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -138,7 +138,7 @@ public class SystemTable
*/
public static synchronized void updateToken(InetAddress ep, Token token)
{
- if (ep == FBUtilities.getLocalAddress())
+ if (ep == FBUtilities.getBroadcastAddress())
{
removeToken(token);
return;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4eae7cd/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 d1a5b8d..96576fb 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -1095,7 +1095,7 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean
*/
public void addSavedEndpoint(InetAddress ep)
{
- if (ep == FBUtilities.getLocalAddress())
+ if (ep == FBUtilities.getBroadcastAddress())
{
logger.debug("Attempt to add self as saved endpoint");
return;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4eae7cd/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index 17c2097..a597aab 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -78,6 +78,11 @@ public class OutboundTcpConnection extends Thread
enqueue(CLOSE_SENTINEL, null);
}
+ void softCloseSocket()
+ {
+ enqueue(CLOSE_SENTINEL, null);
+ }
+
public void run()
{
while (true)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4eae7cd/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java b/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
index c7acd9e..a75dafe 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
@@ -68,7 +68,8 @@ public class OutboundTcpConnectionPool
public void reset(InetAddress remoteEP)
{
resetedEndpoint = remoteEP;
- reset();
+ for (OutboundTcpConnection con : new OutboundTcpConnection[] { cmdCon, ackCon })
+ con.softCloseSocket();
}
public Socket newSocket() throws IOException
@@ -78,7 +79,8 @@ public class OutboundTcpConnectionPool
{
return SSLFactory.getSocket(DatabaseDescriptor.getEncryptionOptions(), endPoint(), DatabaseDescriptor.getSSLStoragePort(), FBUtilities.getLocalAddress(), 0);
}
- else {
+ else
+ {
return new Socket(endPoint(), DatabaseDescriptor.getStoragePort(), FBUtilities.getLocalAddress(), 0);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4eae7cd/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 4f6a5a7..cf0cbcd 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -54,7 +54,7 @@ public class MigrationManager implements IEndpointStateChangeSubscriber
// avoids re-pushing migrations that we're waiting on target to apply already
private static Map<InetAddress,UUID> lastPushed = new MapMaker().expiration(1, TimeUnit.MINUTES).makeMap();
- private static UUID highestKnown;
+ private static volatile UUID highestKnown;
public void onJoin(InetAddress endpoint, EndpointState epState) {
VersionedValue value = epState.getApplicationState(ApplicationState.SCHEMA);