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 2013/01/24 15:58:02 UTC

[4/10] git commit: Fix test failures for CASSANDRA-5175

Fix test failures for CASSANDRA-5175


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

Branch: refs/heads/trunk
Commit: 11d1414628c18d07f7449af0aa9374406077b9a8
Parents: fc1daa3
Author: Vijay Parthasarathy <vi...@gmail.com>
Authored: Tue Jan 22 23:38:14 2013 -0800
Committer: Vijay Parthasarathy <vi...@gmail.com>
Committed: Tue Jan 22 23:38:14 2013 -0800

----------------------------------------------------------------------
 .../org/apache/cassandra/net/MessagingService.java |    4 ++--
 .../cassandra/net/OutboundTcpConnection.java       |    8 +++++---
 .../cassandra/net/OutboundTcpConnectionPool.java   |    2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/11d14146/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index 7974e6c..b605575 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -305,9 +305,9 @@ public final class MessagingService implements MessagingServiceMBean
             return;
         // these null guards are simply for tests
         if (cp.ackCon != null)
-            cp.ackCon.closeSocket();
+            cp.ackCon.closeSocket(true);
         if (cp.cmdCon != null)
-            cp.cmdCon.closeSocket();
+            cp.cmdCon.closeSocket(true);
         connectionManagers_.remove(to);
         recentTimeoutsPerHost.remove(to.getHostAddress());
         timeoutsPerHost.remove(to.getHostAddress());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11d14146/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 794ed29..73d0c15 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -80,11 +80,11 @@ public class OutboundTcpConnection extends Thread
         }
     }
 
-    void closeSocket()
+    void closeSocket(boolean destroyThread)
     {
         active.clear();
         backlog.clear();
-        isStopped = true; // Exit loop to stop the thread
+        isStopped = destroyThread; // Exit loop to stop the thread
         enqueue(CLOSE_SENTINEL, null);
     }
 
@@ -95,7 +95,7 @@ public class OutboundTcpConnection extends Thread
 
     public void run()
     {
-        while (!isStopped)
+        while (true)
         {
             Entry entry = active.poll();
             if (entry == null)
@@ -120,6 +120,8 @@ public class OutboundTcpConnection extends Thread
             if (m == CLOSE_SENTINEL)
             {
                 disconnect();
+                if (isStopped)
+                    break;
                 continue;
             }
             if (entry.timestamp < System.currentTimeMillis() - DatabaseDescriptor.getRpcTimeout())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11d14146/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 4e5a479..eca0733 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
@@ -63,7 +63,7 @@ public class OutboundTcpConnectionPool
     synchronized void reset()
     {
         for (OutboundTcpConnection con : new OutboundTcpConnection[] { cmdCon, ackCon })
-            con.closeSocket();
+            con.closeSocket(false);
     }
 
     /**