With the default configuration, connections between the Java driver and the the Cassandra cluster do not utilize any keep-alive method. Without TCP Keepalive enabled or regular validation of idle sessions it is possible for network devices between the client and server will reap the connections.
While I expect that enabling keepalive in SocketOptions will resolve this issue, it may be prudent for the driver to regularly test idle connections to keep them from being reaped.
Some details about our ring:
- 6 node Apache Cassandra 1.2.8 cluster (Java 1.7.0_25) on Subnet1
- Four node client cluster (Java 1.7.0_25) on Subnet2
- Our firewall manages connections between Subnet1 and Subnet2; idle connections are reaped after one hour of inactivity.