Skip to content

Fix liveness checking for unresponsive connections #1514

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

Conversation

bigmontz
Copy link
Contributor

The driver performs liveness checking for connections when remove them from the pool.
When this connections are not responsive, the driver hangs waiting for the result of the SUCCESS message get back.

This problem occurs becaue driver are not taking in consideration the connection hint connection.recv_timeout_seconds in the liveness check routine.

The problem is solved by add the ConnectionReadTimeoutHandler to the pipeline also in case of liveness check ping.

The driver performs liveness checking for connections when remove them
from the pool.
When this connections are not responsive, the driver hangs waiting for
the result of the `SUCCESS` message get back.

This problem occurs becaue driver are not taking in consideration the
connection hint `connection.recv_timeout_seconds` in the liveness check
routinge.

The problem is solved by add the ConnectionReadTimeoutHandler to the
pipeline also in case of liveness check ping.
…yChannelHealthChecker.java

Co-authored-by: Dmitriy Tverdiakov <[email protected]>
@injectives injectives merged commit ee9746c into neo4j:5.0 Dec 18, 2023
injectives added a commit to injectives/neo4j-java-driver that referenced this pull request Dec 18, 2023
* Fix liveness checking for unresponsive connections

The driver performs liveness checking for connections when remove them
from the pool.
When this connections are not responsive, the driver hangs waiting for
the result of the `SUCCESS` message get back.

This problem occurs becaue driver are not taking in consideration the
connection hint `connection.recv_timeout_seconds` in the liveness check
routinge.

The problem is solved by add the ConnectionReadTimeoutHandler to the
pipeline also in case of liveness check ping.

* Remove unused imports

* apply code style

* Update driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelHealthChecker.java

Co-authored-by: Dmitriy Tverdiakov <[email protected]>

---------

Co-authored-by: Dmitriy Tverdiakov <[email protected]>
@bigmontz bigmontz deleted the 5.x-add-connection-recv-timeout-to-liveness-check branch December 18, 2023 12:45
injectives added a commit that referenced this pull request Dec 18, 2023
* Fix liveness checking for unresponsive connections

The driver performs liveness checking for connections when remove them
from the pool.
When this connections are not responsive, the driver hangs waiting for
the result of the `SUCCESS` message get back.

This problem occurs becaue driver are not taking in consideration the
connection hint `connection.recv_timeout_seconds` in the liveness check
routinge.

The problem is solved by add the ConnectionReadTimeoutHandler to the
pipeline also in case of liveness check ping.

* Remove unused imports

* apply code style

* Update driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelHealthChecker.java



---------

Co-authored-by: Antonio Barcélos <[email protected]>
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.

2 participants