Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for connection timeout. #574

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kharus
Copy link

@kharus kharus commented Mar 13, 2015

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.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant