Netflix / astyanax

Cassandra Java Client
Apache License 2.0
1.04k stars 355 forks source link

Fix for connection timeout. #574

Open kharus opened 9 years ago

kharus commented 9 years ago

TSocket supports only one timeout field so setting timeout or invoking TSocket.setTimeout sets both timeout field and sets underlying java socket's socket timeout. TSocket is set up with cpConfig.getConnectTimeout() which sets TSocket.timeout_ to connection timeout from Astyanax config which is as expected but also it set's underlying java socket timeout ot connection timeout. Later during ThriftConnection#setTimeout both timeout and java socket timeout set to cpConfig.getSocketTimeout. During transport.open then socket timeout used as a connection timeout which is not what expected. This fix moves ThriftConnection#setTimeout to later stage so socket is open using connection timeout and later java socket's socket timeout is set to cpConfig.getSocketTimeout.