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

Add support for setNetworkTimeout/getNetworkTimeout() [JDBC589] #620

Closed
firebird-automations opened this issue Jul 6, 2019 · 5 comments
Closed

Comments

@firebird-automations
Copy link

Submitted by: @mrotteveel

Add support for JDBC 4.1 setNetworkTimeout()/getNetworkTimeout().

Initial implementation will only set the SO_TIMEOUT of the socket.

Commits: 732690e

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

Fix Version: Jaybird 4.0.0-beta-2 [ 10902 ]

Fix Version: Jaybird 4 [ 10441 ]

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Implemented basic timeout support locally, but due to the way errors are handled and the connection close is handled, this causes a timeout amplification of +/- 4-5x as the exception during timeout causes a connection close, which will try to cleanly end the connection, which causes a commit which times out, which causes a rollback, which times out and then a connection close, which times out.

This may need to be revised further to force an abrupt connection close by forcing the socket to close, however in the current implementation that is not easy to achieve.

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Made some improvements to forcibly close a connection, which removes the timeout amplification.

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants