You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sn...@apache.org on 2015/10/19 14:59:23 UTC
[1/2] cassandra git commit: JDK bug from CASSANDRA-8220 makes drain
die early also
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.2 289b7b7ce -> 0bfa26d60
JDK bug from CASSANDRA-8220 makes drain die early also
patch by Jeremiah Jordan; reviewed by Robert Stupp for CASSANDRA-10545
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b84ed117
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b84ed117
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b84ed117
Branch: refs/heads/cassandra-2.2
Commit: b84ed1176c015552550f30629e240c320a00001b
Parents: 27c8011
Author: Jeremiah Jordan <je...@datastax.com>
Authored: Mon Oct 19 14:56:02 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Oct 19 14:56:02 2015 +0200
----------------------------------------------------------------------
.../apache/cassandra/net/MessagingService.java | 30 ++++++++++++++++++--
1 file changed, 27 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b84ed117/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 d7825d4..724518c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -743,7 +743,15 @@ public final class MessagingService implements MessagingServiceMBean
try
{
for (SocketThread th : socketThreads)
- th.close();
+ try
+ {
+ th.close();
+ }
+ catch (IOException e)
+ {
+ // see https://issues.apache.org/jira/browse/CASSANDRA-10545
+ handleIOException(e);
+ }
}
catch (IOException e)
{
@@ -1013,8 +1021,16 @@ public final class MessagingService implements MessagingServiceMBean
void close() throws IOException
{
- logger.debug("Closing accept() thread");
- server.close();
+ logger.trace("Closing accept() thread");
+ try
+ {
+ server.close();
+ }
+ catch (IOException e)
+ {
+ // see https://issues.apache.org/jira/browse/CASSANDRA-8220
+ handleIOException(e);
+ }
for (Closeable connection : connections)
{
connection.close();
@@ -1027,6 +1043,14 @@ public final class MessagingService implements MessagingServiceMBean
}
}
+ private static void handleIOException(IOException e) throws IOException
+ {
+ // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+ // see https://bugs.openjdk.java.net/browse/JDK-8050499
+ if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS X".equals(System.getProperty("os.name")))
+ throw e;
+ }
+
public Map<String, Integer> getCommandPendingTasks()
{
Map<String, Integer> pendingTasks = new HashMap<String, Integer>();
[2/2] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by sn...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bfa26d6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bfa26d6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bfa26d6
Branch: refs/heads/cassandra-2.2
Commit: 0bfa26d6011b6e1c79c164a1acc29884d8157ade
Parents: 289b7b7 b84ed11
Author: Robert Stupp <sn...@snazy.de>
Authored: Mon Oct 19 14:56:41 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Oct 19 14:56:41 2015 +0200
----------------------------------------------------------------------
.../apache/cassandra/net/MessagingService.java | 24 +++++++++++++++-----
1 file changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bfa26d6/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/MessagingService.java
index 2a63553,724518c..4aafdd1
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@@ -1024,14 -1028,10 +1032,10 @@@ public final class MessagingService imp
}
catch (IOException e)
{
- // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
// see https://issues.apache.org/jira/browse/CASSANDRA-8220
- // see https://bugs.openjdk.java.net/browse/JDK-8050499
- if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS X".equals(System.getProperty("os.name")))
- throw e;
+ handleIOException(e);
}
-
- for (Closeable connection : connections)
+ for (Closeable connection : connections)
{
connection.close();
}
@@@ -1043,11 -1043,19 +1047,19 @@@
}
}
+ private static void handleIOException(IOException e) throws IOException
+ {
+ // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+ // see https://bugs.openjdk.java.net/browse/JDK-8050499
+ if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS X".equals(System.getProperty("os.name")))
+ throw e;
+ }
+
- public Map<String, Integer> getCommandPendingTasks()
+ public Map<String, Integer> getLargeMessagePendingTasks()
{
- Map<String, Integer> pendingTasks = new HashMap<String, Integer>();
+ Map<String, Integer> pendingTasks = new HashMap<String, Integer>(connectionManagers.size());
for (Map.Entry<InetAddress, OutboundTcpConnectionPool> entry : connectionManagers.entrySet())
- pendingTasks.put(entry.getKey().getHostAddress(), entry.getValue().cmdCon.getPendingMessages());
+ pendingTasks.put(entry.getKey().getHostAddress(), entry.getValue().largeMessages.getPendingMessages());
return pendingTasks;
}