From b48a17bfbb033d30ed0fd7d66d83129dbcbcf1fa Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 12 Jun 2014 09:30:29 -0500 Subject: [PATCH] Enabled keepalive for native protocol Patch by brandonwilliams, reviewed by Sankalp Kohli for CASSANDRA-7380 --- CHANGES.txt | 1 + conf/cassandra.yaml | 2 +- src/java/org/apache/cassandra/transport/Server.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index f4f7fc4464..94e2c5a5ef 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -16,6 +16,7 @@ * Fix infinite loop on exception while streaming (CASSANDRA-7330) * Reference sstables before populating key cache (CASSANDRA-7234) Merged from 1.2: + * Enable keepalive for native protocol (CASSANDRA-7380) * Check internal addresses for seeds (CASSANDRA-6523) * Fix potential / by 0 in HHOM page size calculation (CASSANDRA-7354) * Fix availability validation for LOCAL_ONE CL (CASSANDRA-7319) diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 2de6753b6a..ef8194ec57 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -336,7 +336,7 @@ rpc_address: localhost # port for Thrift to listen for clients on rpc_port: 9160 -# enable or disable keepalive on rpc connections +# enable or disable keepalive on rpc/native connections rpc_keepalive: true # Cassandra provides two out-of-the-box options for the RPC Server: diff --git a/src/java/org/apache/cassandra/transport/Server.java b/src/java/org/apache/cassandra/transport/Server.java index e16c681dd0..f095776c75 100644 --- a/src/java/org/apache/cassandra/transport/Server.java +++ b/src/java/org/apache/cassandra/transport/Server.java @@ -138,6 +138,7 @@ public class Server implements CassandraDaemon.Server ServerBootstrap bootstrap = new ServerBootstrap(factory); bootstrap.setOption("child.tcpNoDelay", true); + bootstrap.setOption("child.keepAlive", DatabaseDescriptor.getRpcKeepAlive()); // Set up the event pipeline factory. final EncryptionOptions.ClientEncryptionOptions clientEnc = DatabaseDescriptor.getClientEncryptionOptions();