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/11/06 21:34:43 UTC
[1/6] git commit: Fix potential socket leak in connectionpool
creation patch by Minh Do; reviewed by jbellis for CASSANDRA-6308
Updated Branches:
refs/heads/cassandra-1.2 8e7d7285c -> 8c2404493
refs/heads/cassandra-2.0 dc71d2200 -> b4020979c
refs/heads/trunk a4fc13c05 -> c65c15cc0
Fix potential socket leak in connectionpool creation
patch by Minh Do; reviewed by jbellis for CASSANDRA-6308
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c240449
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c240449
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c240449
Branch: refs/heads/cassandra-1.2
Commit: 8c2404493a6efc109cd621c02a4de6ef1f1f46aa
Parents: 8e7d728
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Nov 6 12:33:45 2013 -0800
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Nov 6 12:33:45 2013 -0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/net/MessagingService.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c240449/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fd3af68..eab185a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,7 @@
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
+ * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
1.2.11
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c240449/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 a199e83..7e420cf 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -259,7 +259,7 @@ public final class MessagingService implements MessagingServiceMBean
*/
private final ConcurrentMap<InetAddress, DebuggableThreadPoolExecutor> streamExecutors = new NonBlockingHashMap<InetAddress, DebuggableThreadPoolExecutor>();
- private final NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool> connectionManagers = new NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool>();
+ private final ConcurrentMap<InetAddress, OutboundTcpConnectionPool> connectionManagers = new NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool>();
private static final Logger logger = LoggerFactory.getLogger(MessagingService.class);
private static final int LOG_DROPPED_INTERVAL_IN_MS = 5000;
@@ -484,11 +484,17 @@ public final class MessagingService implements MessagingServiceMBean
OutboundTcpConnectionPool cp = connectionManagers.get(to);
if (cp == null)
{
- connectionManagers.putIfAbsent(to, new OutboundTcpConnectionPool(to));
- cp = connectionManagers.get(to);
+ cp = new OutboundTcpConnectionPool(to);
+ OutboundTcpConnectionPool existingPool = connectionManagers.putIfAbsent(to, cp);
+ if (existingPool != null)
+ {
+ cp.close();
+ cp = existingPool;
+ }
}
return cp;
}
+
public OutboundTcpConnection getConnection(InetAddress to, MessageOut msg)
{
[2/6] git commit: Fix potential socket leak in connectionpool
creation patch by Minh Do; reviewed by jbellis for CASSANDRA-6308
Posted by jb...@apache.org.
Fix potential socket leak in connectionpool creation
patch by Minh Do; reviewed by jbellis for CASSANDRA-6308
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c240449
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c240449
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c240449
Branch: refs/heads/cassandra-2.0
Commit: 8c2404493a6efc109cd621c02a4de6ef1f1f46aa
Parents: 8e7d728
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Nov 6 12:33:45 2013 -0800
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Nov 6 12:33:45 2013 -0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/net/MessagingService.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c240449/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fd3af68..eab185a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,7 @@
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
+ * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
1.2.11
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c240449/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 a199e83..7e420cf 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -259,7 +259,7 @@ public final class MessagingService implements MessagingServiceMBean
*/
private final ConcurrentMap<InetAddress, DebuggableThreadPoolExecutor> streamExecutors = new NonBlockingHashMap<InetAddress, DebuggableThreadPoolExecutor>();
- private final NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool> connectionManagers = new NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool>();
+ private final ConcurrentMap<InetAddress, OutboundTcpConnectionPool> connectionManagers = new NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool>();
private static final Logger logger = LoggerFactory.getLogger(MessagingService.class);
private static final int LOG_DROPPED_INTERVAL_IN_MS = 5000;
@@ -484,11 +484,17 @@ public final class MessagingService implements MessagingServiceMBean
OutboundTcpConnectionPool cp = connectionManagers.get(to);
if (cp == null)
{
- connectionManagers.putIfAbsent(to, new OutboundTcpConnectionPool(to));
- cp = connectionManagers.get(to);
+ cp = new OutboundTcpConnectionPool(to);
+ OutboundTcpConnectionPool existingPool = connectionManagers.putIfAbsent(to, cp);
+ if (existingPool != null)
+ {
+ cp.close();
+ cp = existingPool;
+ }
}
return cp;
}
+
public OutboundTcpConnection getConnection(InetAddress to, MessageOut msg)
{
[3/6] git commit: Fix potential socket leak in connectionpool
creation patch by Minh Do; reviewed by jbellis for CASSANDRA-6308
Posted by jb...@apache.org.
Fix potential socket leak in connectionpool creation
patch by Minh Do; reviewed by jbellis for CASSANDRA-6308
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c240449
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c240449
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c240449
Branch: refs/heads/trunk
Commit: 8c2404493a6efc109cd621c02a4de6ef1f1f46aa
Parents: 8e7d728
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Nov 6 12:33:45 2013 -0800
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Nov 6 12:33:45 2013 -0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/net/MessagingService.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c240449/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fd3af68..eab185a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,7 @@
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
+ * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
1.2.11
http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c240449/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 a199e83..7e420cf 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -259,7 +259,7 @@ public final class MessagingService implements MessagingServiceMBean
*/
private final ConcurrentMap<InetAddress, DebuggableThreadPoolExecutor> streamExecutors = new NonBlockingHashMap<InetAddress, DebuggableThreadPoolExecutor>();
- private final NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool> connectionManagers = new NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool>();
+ private final ConcurrentMap<InetAddress, OutboundTcpConnectionPool> connectionManagers = new NonBlockingHashMap<InetAddress, OutboundTcpConnectionPool>();
private static final Logger logger = LoggerFactory.getLogger(MessagingService.class);
private static final int LOG_DROPPED_INTERVAL_IN_MS = 5000;
@@ -484,11 +484,17 @@ public final class MessagingService implements MessagingServiceMBean
OutboundTcpConnectionPool cp = connectionManagers.get(to);
if (cp == null)
{
- connectionManagers.putIfAbsent(to, new OutboundTcpConnectionPool(to));
- cp = connectionManagers.get(to);
+ cp = new OutboundTcpConnectionPool(to);
+ OutboundTcpConnectionPool existingPool = connectionManagers.putIfAbsent(to, cp);
+ if (existingPool != null)
+ {
+ cp.close();
+ cp = existingPool;
+ }
}
return cp;
}
+
public OutboundTcpConnection getConnection(InetAddress to, MessageOut msg)
{
[6/6] git commit: Merge branch 'cassandra-2.0' into trunk
Posted by jb...@apache.org.
Merge branch 'cassandra-2.0' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c65c15cc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c65c15cc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c65c15cc
Branch: refs/heads/trunk
Commit: c65c15cc0583164ffd724d1008397f9380fd7a89
Parents: a4fc13c b402097
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Nov 6 12:33:59 2013 -0800
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Nov 6 12:33:59 2013 -0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/net/MessagingService.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c65c15cc/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c65c15cc/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
[4/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by jb...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b4020979
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b4020979
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b4020979
Branch: refs/heads/trunk
Commit: b4020979ccba9514b7d70fb47d76b5e2edaeffdc
Parents: dc71d22 8c24044
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Nov 6 12:33:51 2013 -0800
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Nov 6 12:33:51 2013 -0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/net/MessagingService.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4020979/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 7e9201a,eab185a..4a1fd05
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -29,42 -11,10 +29,43 @@@ Merged from 1.2
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
+ * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
-1.2.11
+2.0.2
+ * Update FailureDetector to use nanontime (CASSANDRA-4925)
+ * Fix FileCacheService regressions (CASSANDRA-6149)
+ * Never return WriteTimeout for CL.ANY (CASSANDRA-6032)
+ * Fix race conditions in bulk loader (CASSANDRA-6129)
+ * Add configurable metrics reporting (CASSANDRA-4430)
+ * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
+ * Track and persist sstable read activity (CASSANDRA-5515)
+ * Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
+ * Improve memory usage of metadata min/max column names (CASSANDRA-6077)
+ * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
+ * Fix insertion of collections with CAS (CASSANDRA-6069)
+ * Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
+ * Track clients' remote addresses in ClientState (CASSANDRA-6070)
+ * Create snapshot dir if it does not exist when migrating
+ leveled manifest (CASSANDRA-6093)
+ * make sequential nodetool repair the default (CASSANDRA-5950)
+ * Add more hooks for compaction strategy implementations (CASSANDRA-6111)
+ * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
+ * Delete can potentially be skipped in batch (CASSANDRA-6115)
+ * Allow alter keyspace on system_traces (CASSANDRA-6016)
+ * Disallow empty column names in cql (CASSANDRA-6136)
+ * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
+ * Save compaction history to system keyspace (CASSANDRA-5078)
+ * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
+ * CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
+ * Add reloadtriggers command to nodetool (CASSANDRA-4949)
+ * cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
+ * Fix sstable loader (CASSANDRA-6205)
+ * Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
+ * Fix NPE while loading paxos state (CASSANDRA-6211)
+ * cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
+Merged from 1.2:
+ * (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
* Add a warning for small LCS sstable size (CASSANDRA-6191)
* Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
* Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4020979/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
[5/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by jb...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b4020979
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b4020979
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b4020979
Branch: refs/heads/cassandra-2.0
Commit: b4020979ccba9514b7d70fb47d76b5e2edaeffdc
Parents: dc71d22 8c24044
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Nov 6 12:33:51 2013 -0800
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Nov 6 12:33:51 2013 -0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/net/MessagingService.java | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4020979/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 7e9201a,eab185a..4a1fd05
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -29,42 -11,10 +29,43 @@@ Merged from 1.2
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
+ * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
-1.2.11
+2.0.2
+ * Update FailureDetector to use nanontime (CASSANDRA-4925)
+ * Fix FileCacheService regressions (CASSANDRA-6149)
+ * Never return WriteTimeout for CL.ANY (CASSANDRA-6032)
+ * Fix race conditions in bulk loader (CASSANDRA-6129)
+ * Add configurable metrics reporting (CASSANDRA-4430)
+ * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
+ * Track and persist sstable read activity (CASSANDRA-5515)
+ * Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
+ * Improve memory usage of metadata min/max column names (CASSANDRA-6077)
+ * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
+ * Fix insertion of collections with CAS (CASSANDRA-6069)
+ * Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
+ * Track clients' remote addresses in ClientState (CASSANDRA-6070)
+ * Create snapshot dir if it does not exist when migrating
+ leveled manifest (CASSANDRA-6093)
+ * make sequential nodetool repair the default (CASSANDRA-5950)
+ * Add more hooks for compaction strategy implementations (CASSANDRA-6111)
+ * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
+ * Delete can potentially be skipped in batch (CASSANDRA-6115)
+ * Allow alter keyspace on system_traces (CASSANDRA-6016)
+ * Disallow empty column names in cql (CASSANDRA-6136)
+ * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
+ * Save compaction history to system keyspace (CASSANDRA-5078)
+ * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
+ * CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
+ * Add reloadtriggers command to nodetool (CASSANDRA-4949)
+ * cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
+ * Fix sstable loader (CASSANDRA-6205)
+ * Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
+ * Fix NPE while loading paxos state (CASSANDRA-6211)
+ * cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
+Merged from 1.2:
+ * (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
* Add a warning for small LCS sstable size (CASSANDRA-6191)
* Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
* Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b4020979/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------