diff --git a/CHANGES.txt b/CHANGES.txt index a50825f466..dd58ff9dc9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.17 + * 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 handling of empty counter replication mutations (CASSANDRA-7144) diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index ecad3f0dcb..fab9527797 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -366,7 +366,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 three 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 5773728717..74f4a0d169 100644 --- a/src/java/org/apache/cassandra/transport/Server.java +++ b/src/java/org/apache/cassandra/transport/Server.java @@ -116,6 +116,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();