Skip to content

[5.28] Fix async driver waiting for OS on closing half-open socket#1315

Open
robsdedude wants to merge 2 commits into
neo4j:5.0from
robsdedude:fix/async-close-blocking-5.28
Open

[5.28] Fix async driver waiting for OS on closing half-open socket#1315
robsdedude wants to merge 2 commits into
neo4j:5.0from
robsdedude:fix/async-close-blocking-5.28

Conversation

@robsdedude
Copy link
Copy Markdown
Member

This change aligns the async driver better with the sync driver. When a socket is closed, we don't want to wait until the OS acknowledges that the channel has been fully torn down. It's sufficient to initiate the closure. The rest we'll leave to the OS's TCP stack (and potentially other intermediates such as TLS wrappers) or the async runtime to figure out in the background.

Closes: #1309
Closes: DRIVERS-404

Backport of: #1311

This backport is limited to the minimal change required for the desired change in behavior. All the auxiliary clean-up work of the original PR has been omitted in favor of code stability.

This change aligns the async driver better with the sync driver.
When a socket is closed, we don't want to wait until the OS acknowledges that
the channel has been fully torn down. It's sufficient to initiate the closure.
The rest we'll leave to the OS's TCP stack (and potentially other intermediates
such as TLS wrappers) or the async runtime to figure out in the background.
@robsdedude robsdedude marked this pull request as ready for review June 8, 2026 08:58
@robsdedude robsdedude requested a review from MaxAake June 8, 2026 09:21
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