From 51bf51813c4a7a9f9ad3adfe8ddac171b398816b Mon Sep 17 00:00:00 2001 From: Paulo Motta Date: Thu, 28 Jul 2016 18:49:42 -0300 Subject: [PATCH] Close socket on error during connect on OutboundTcpConnection Patch by Paulo Motta; Reviewed by Robert Stupp for CASSANDRA-9630 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index c32e56ae6f..0453ddd00a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.16 + * Close socket on error during connect on OutboundTcpConnection (CASSANDRA-9630) * Set encoding for javadoc generation (CASSANDRA-14154) * Fix index target computation for dense composite tables with dropped compact storage (CASSANDRA-14104) * Improve commit log chain marker updating (CASSANDRA-14108) diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java index 99ad194b94..9fbd3a8846 100644 --- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java +++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java @@ -538,13 +538,13 @@ public class OutboundTcpConnection extends Thread catch (SSLHandshakeException e) { logger.error("SSL handshake error for outbound connection to " + socket, e); - socket = null; + disconnect(); // SSL errors won't be recoverable within timeout period so we'll just abort return false; } catch (IOException e) { - socket = null; + disconnect(); if (logger.isTraceEnabled()) logger.trace("unable to connect to " + poolReference.endPoint(), e); Uninterruptibles.sleepUninterruptibly(OPEN_RETRY_DELAY, TimeUnit.MILLISECONDS);