Author: jbellis
Date: Tue Sep 21 21:27:27 2010
New Revision: 999651
URL: http://svn.apache.org/viewvc?rev=999651&view=rev
Log:
clean up socket close code. patch by jbellis for CASSANDRA-1528
Modified:
cassandra/branches/cassandra-0.6/CHANGES.txt
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
Modified: cassandra/branches/cassandra-0.6/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=999651&r1=999650&r2=999651&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.6/CHANGES.txt Tue Sep 21 21:27:27 2010
@@ -24,10 +24,12 @@
* make IndexInterval configurable (CASSANDRA-1488)
* remove tombstones during non-major compactions when bloom filter
verifies that row does not exist in other sstables (CASSANDRA-1074)
- * fix replaying the last mutation in a commitlog unnecessarily
(CASSANDRA-1512)
+ * fix replaying the last mutation in a commitlog unnecessarily
+ (CASSANDRA-1512)
* invoke getDefaultUncaughtExceptionHandler from DTPE with the original
exception rather than the ExecutionException wrapper (CASSANDRA-1226)
* RowWarningThresholdInMB=64 in sample configuration
+ * Close intra-node sockets when connection is broken (CASSANDRA-1528)
0.6.5
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/net/IncomingTcpConnection.java?rev=999651&r1=999650&r2=999651&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
(original)
+++
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
Tue Sep 21 21:27:27 2010
@@ -38,6 +38,7 @@ public class IncomingTcpConnection exten
public IncomingTcpConnection(Socket socket)
{
+ assert socket != null;
this.socket = socket;
try
{
@@ -45,6 +46,7 @@ public class IncomingTcpConnection exten
}
catch (IOException e)
{
+ close();
throw new IOError(e);
}
}
@@ -80,32 +82,29 @@ public class IncomingTcpConnection exten
{
if (logger.isTraceEnabled())
logger.trace("eof reading from socket; closing", e);
- try
- {
- socket.close();
- }
- catch (IOException e2)
- {
- if (logger.isDebugEnabled())
- logger.debug("error closing socket", e2);
- }
break;
}
catch (IOException e)
{
if (logger.isDebugEnabled())
logger.debug("error reading from socket; closing", e);
- try
- {
- socket.close();
- }
- catch (IOException e2)
- {
- if (logger.isDebugEnabled())
- logger.debug("error closing socket", e2);
- }
break;
}
}
+
+ close();
+ }
+
+ private void close()
+ {
+ try
+ {
+ socket.close();
+ }
+ catch (IOException e)
+ {
+ if (logger.isDebugEnabled())
+ logger.debug("error closing socket", e);
+ }
}
}