Updated Branches:
  refs/heads/trunk d870d1755 -> 089eacf60

fix broadcastAddress and fix for 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/089eacf6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/089eacf6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/089eacf6

Branch: refs/heads/trunk
Commit: 089eacf600b32b84ea197b0f1f3d58a1a50ca701
Parents: d870d17
Author: Vijay Parthasarathy <vijay2...@gmail.com>
Authored: Wed Feb 1 19:57:12 2012 -0800
Committer: Vijay Parthasarathy <vijay2...@gmail.com>
Committed: Wed Feb 1 19:57:12 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 ++++--
 5 files changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/089eacf6/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 4ffa3e9..3f6fa9d 100644
--- a/src/java/org/apache/cassandra/cli/CliClient.java
+++ b/src/java/org/apache/cassandra/cli/CliClient.java
@@ -1150,15 +1150,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/089eacf6/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 58ff41e..b0b5c60 100644
--- a/src/java/org/apache/cassandra/db/SystemTable.java
+++ b/src/java/org/apache/cassandra/db/SystemTable.java
@@ -143,7 +143,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/089eacf6/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 27a1ba7..9f73717 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -1090,7 +1090,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/089eacf6/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 e920aae..f9d866d 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -86,6 +86,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/089eacf6/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);
         }
     }

Reply via email to