You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by yu...@apache.org on 2015/07/29 21:39:40 UTC

[2/3] cassandra git commit: Fix broken internode SSL

Fix broken internode SSL

patch by yukim; reviewed by Jason Brown for CASSANDRA-9884


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

Branch: refs/heads/trunk
Commit: 33e3af59f9521f7d3e9ddccdd107a05d1c6fb939
Parents: 325aeb7
Author: Yuki Morishita <yu...@apache.org>
Authored: Wed Jul 29 14:36:51 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Wed Jul 29 14:39:15 2015 -0500

----------------------------------------------------------------------
 CHANGES.txt                                                  | 1 +
 src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/33e3af59/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ec12cb8..4b079d4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * UDF / UDA execution time in trace (CASSANDRA-9723)
  * Remove repair snapshot leftover on startup (CASSANDRA-7357)
  * Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
+ * Fix broken internode SSL (CASSANDRA-9884)
 Merged from 2.1:
  * Fix handling of enable/disable autocompaction (CASSANDRA-9899)
  * Add consistency level to tracing ouput (CASSANDRA-9827)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/33e3af59/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 b05232b..ee30073 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -24,6 +24,8 @@ import java.net.InetAddress;
 import java.net.Socket;
 import java.net.SocketException;
 import java.nio.ByteBuffer;
+import java.nio.channels.Channels;
+import java.nio.channels.WritableByteChannel;
 import java.util.*;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.CountDownLatch;
@@ -401,7 +403,9 @@ public class OutboundTcpConnection extends Thread
                     }
                 }
 
-                out = new BufferedDataOutputStreamPlus(socket.getChannel(), BUFFER_SIZE);
+                // SocketChannel may be null when using SSL
+                WritableByteChannel ch = socket.getChannel();
+                out = new BufferedDataOutputStreamPlus(ch != null ? ch : Channels.newChannel(socket.getOutputStream()), BUFFER_SIZE);
 
                 out.writeInt(MessagingService.PROTOCOL_MAGIC);
                 writeHeader(out, targetVersion, shouldCompressConnection());