You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by vi...@apache.org on 2013/01/23 08:45:40 UTC

[1/2] 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/db870529
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/db870529
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/db870529

Branch: refs/heads/trunk
Commit: db8705294ba96fe2b746fea4f26a919538653ebd
Parents: 0963469
Author: Vijay Parthasarathy <vi...@gmail.com>
Authored: Tue Jan 22 23:44:43 2013 -0800
Committer: Vijay Parthasarathy <vi...@gmail.com>
Committed: Tue Jan 22 23:44:43 2013 -0800

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/db870529/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 1572417..90d054e 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -89,11 +89,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);
     }
 
@@ -109,7 +109,7 @@ public class OutboundTcpConnection extends Thread
 
     public void run()
     {
-        while (!isStopped)
+        while (true)
         {
             QueuedMessage qm = active.poll();
             if (qm == null)
@@ -133,6 +133,8 @@ public class OutboundTcpConnection extends Thread
             if (m == CLOSE_SENTINEL)
             {
                 disconnect();
+                if (!isStopped)
+                    break;
                 continue;
             }
             if (qm.timestamp < System.currentTimeMillis() - m.getTimeout())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/db870529/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 237363d..88cad5b 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java
@@ -68,7 +68,7 @@ public class OutboundTcpConnectionPool
     void reset()
     {
         for (OutboundTcpConnection conn : new OutboundTcpConnection[] { cmdCon, ackCon })
-            conn.closeSocket();
+            conn.closeSocket(false);
     }
 
     public void resetToNewerVersion(int version)
@@ -161,9 +161,9 @@ public class OutboundTcpConnectionPool
     {
         // these null guards are simply for tests
         if (ackCon != null)
-            ackCon.closeSocket();
+            ackCon.closeSocket(true);
         if (cmdCon != null)
-            cmdCon.closeSocket();
+            cmdCon.closeSocket(true);
         metrics.release();
     }
 }