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 2011/09/15 15:18:03 UTC
svn commit: r1171088 - in
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra:
concurrent/DebuggableThreadPoolExecutor.java net/IncomingTcpConnection.java
Author: jbellis
Date: Thu Sep 15 13:18:03 2011
New Revision: 1171088
URL: http://svn.apache.org/viewvc?rev=1171088&view=rev
Log:
merge r1170360 from 1.0.0
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java?rev=1171088&r1=1171087&r2=1171088&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java (original)
+++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java Thu Sep 15 13:18:03 2011
@@ -122,6 +122,10 @@ public class DebuggableThreadPoolExecuto
{
throw new AssertionError(e);
}
+ catch (CancellationException e)
+ {
+ logger.debug("Task cancelled", e);
+ }
catch (ExecutionException e)
{
if (Thread.getDefaultUncaughtExceptionHandler() == null)
Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java?rev=1171088&r1=1171087&r2=1171088&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java (original)
+++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/IncomingTcpConnection.java Thu Sep 15 13:18:03 2011
@@ -22,6 +22,7 @@ package org.apache.cassandra.net;
import java.io.*;
+import java.net.InetAddress;
import java.net.Socket;
import org.apache.cassandra.gms.Gossiper;
@@ -41,11 +42,13 @@ public class IncomingTcpConnection exten
private static final int CHUNK_SIZE = 1024 * 1024;
private Socket socket;
+ public InetAddress from;
public IncomingTcpConnection(Socket socket)
{
assert socket != null;
this.socket = socket;
+ from = socket.getInetAddress(); // maximize chance of this not being nulled by disconnect
}
/**
@@ -70,8 +73,7 @@ public class IncomingTcpConnection exten
// we should buffer
input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096));
version = MessagingService.getBits(header, 15, 8);
- if (logger.isDebugEnabled())
- logger.debug("Version for " + socket.getInetAddress() + " is " + version);
+ logger.debug("Version for {} is {}", from, version);
}
catch (IOException e)
{
@@ -83,7 +85,7 @@ public class IncomingTcpConnection exten
if (version > MessagingService.version_)
{
// save the endpoint so gossip will reconnect to it
- Gossiper.instance.addSavedEndpoint(socket.getInetAddress());
+ Gossiper.instance.addSavedEndpoint(from);
logger.info("Received " + (isStream ? "streaming " : "") + "connection from newer protocol version. Ignorning");
// streaming connections are per-session and have a fixed version. we can't do anything with a new-version
@@ -99,8 +101,8 @@ public class IncomingTcpConnection exten
else
{
// only set version when <= to us, otherwise it's the responsibility of the other end to mimic us
- Gossiper.instance.setVersion(socket.getInetAddress(), version);
- logger.debug("set version for {} to {}", socket.getInetAddress(), version);
+ Gossiper.instance.setVersion(from, version);
+ logger.debug("set version for {} to {}", from, version);
}
while (true)
@@ -165,7 +167,8 @@ public class IncomingTcpConnection exten
private void close()
{
// reset version here, since we set when starting an incoming socket
- Gossiper.instance.resetVersion(socket.getInetAddress());
+ if (from != null)
+ Gossiper.instance.resetVersion(from);
try
{
socket.close();