You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2015/12/10 17:33:33 UTC

[1/2] cassandra git commit: Explicitly handle SSL handshake errors during connect()

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 587fd9f77 -> 9ee3a0870


Explicitly handle SSL handshake errors during connect()

patch by Stefan Podkowinski; reviewed by aweisberg for CASSANDRA-10816

Any IOException before this patch has just been logged to debug and
retried in case of outgoing connections. Any issues with SSL
certificates would only be reported in case the log level is set to
debug, which won't be the case on most clusters. The existing retry
loop for the outgoing connect() call would also not make much sense
in case of SSL handshake errors and cause unnecessary load while
constantly running into the same handshake error again.


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c8493c41
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c8493c41
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c8493c41

Branch: refs/heads/cassandra-3.0
Commit: c8493c41ec7acda6b38c18218633301115e98b19
Parents: 879c49b
Author: Stefan Podkowinski <st...@1und1.de>
Authored: Fri Dec 4 13:52:30 2015 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Dec 10 17:29:50 2015 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/net/MessagingService.java     | 6 ++++++
 .../org/apache/cassandra/net/OutboundTcpConnection.java     | 9 +++++++++
 3 files changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8493c41/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 34866fa..cd6b92e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.5
+ * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
  * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
  * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 Merged from 2.1:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8493c41/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 3b4925f..09ee73f 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
+import javax.net.ssl.SSLHandshakeException;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
@@ -1012,6 +1013,11 @@ public final class MessagingService implements MessagingServiceMBean
                     logger.trace("MessagingService server thread already closed");
                     break;
                 }
+                catch (SSLHandshakeException e)
+                {
+                    logger.error("SSL handshake error for inbound connection from " + socket, e);
+                    FileUtils.closeQuietly(socket);
+                }
                 catch (IOException e)
                 {
                     logger.trace("Error reading the socket " + socket, e);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c8493c41/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index 9a4e789..2a8bdf3 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -35,6 +35,8 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.zip.Checksum;
 
+import javax.net.ssl.SSLHandshakeException;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -469,6 +471,13 @@ public class OutboundTcpConnection extends Thread
 
                 return true;
             }
+            catch (SSLHandshakeException e)
+            {
+                logger.error("SSL handshake error for outbound connection to " + socket, e);
+                socket = null;
+                // SSL errors won't be recoverable within timeout period so we'll just abort
+                return false;
+            }
             catch (IOException e)
             {
                 socket = null;


[2/2] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by sl...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9ee3a087
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9ee3a087
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9ee3a087

Branch: refs/heads/cassandra-3.0
Commit: 9ee3a0870e500d03db484cce8fc0012e425904c5
Parents: 587fd9f c8493c4
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Dec 10 17:33:25 2015 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Dec 10 17:33:25 2015 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/net/MessagingService.java     | 6 ++++++
 .../org/apache/cassandra/net/OutboundTcpConnection.java     | 9 +++++++++
 3 files changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ee3a087/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index b95aa76,cd6b92e..8bd5892
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,32 -1,11 +1,33 @@@
 -2.2.5
 - * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 +3.0.1
 + * Avoid MV race during node decommission (CASSANDRA-10674)
   * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Handle single-column deletions correction in materialized views
 +   when the column is part of the view primary key (CASSANDRA-10796)
 + * Fix issue with datadir migration on upgrade (CASSANDRA-10788)
 + * Fix bug with range tombstones on reverse queries and test coverage for
 +   AbstractBTreePartition (CASSANDRA-10059)
 + * Remove 64k limit on collection elements (CASSANDRA-10374)
 + * Remove unclear Indexer.indexes() method (CASSANDRA-10690)
 + * Fix NPE on stream read error (CASSANDRA-10771)
 + * Normalize cqlsh DESC output (CASSANDRA-10431)
 + * Rejects partition range deletions when columns are specified (CASSANDRA-10739)
 + * Fix error when saving cached key for old format sstable (CASSANDRA-10778)
 + * Invalidate prepared statements on DROP INDEX (CASSANDRA-10758)
 + * Fix SELECT statement with IN restrictions on partition key,
 +   ORDER BY and LIMIT (CASSANDRA-10729)
 + * Improve stress performance over 1k threads (CASSANDRA-7217)
 + * Wait for migration responses to complete before bootstrapping (CASSANDRA-10731)
 + * Unable to create a function with argument of type Inet (CASSANDRA-10741)
 + * Fix backward incompatibiliy in CqlInputFormat (CASSANDRA-10717)
 + * Correctly preserve deletion info on updated rows when notifying indexers
 +   of single-row deletions (CASSANDRA-10694)
 + * Notify indexers of partition delete during cleanup (CASSANDRA-10685)
 + * Keep the file open in trySkipCache (CASSANDRA-10669)
 + * Updated trigger example (CASSANDRA-10257)
 +Merged from 2.2:
++ * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
   * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 -Merged from 2.1:
 - * Fix Stress profile parsing on Windows (CASSANDRA-10808)
 -
 -2.2.4
 + * Fix IllegalArgumentException in DataOutputBuffer.reallocate for large buffers (CASSANDRA-10592)
   * Show CQL help in cqlsh in web browser (CASSANDRA-7225)
   * Serialize on disk the proper SSTable compression ratio (CASSANDRA-10775)
   * Reject index queries while the index is building (CASSANDRA-8505)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ee3a087/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------