Skip to content

Forward port #1261 and #1262 - #1263

Merged
v0idpwn merged 2 commits into
mainfrom
forwardport/release-2.10-fixes
Nov 3, 2026
Merged

v0idpwn merged 2 commits into
mainfrom
forwardport/release-2.10-fixes

Conversation

@v0idpwn

@v0idpwn v0idpwn commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Port of #1261 and #1262 from RELEASE_2_10 to main.

The backend socket was opened without one, so a write to a backend that
stopped acking blocked until the kernel gave up on retransmission.

Writes now time out after 30s and close the socket, the same timeout
ranch applies to client sockets by default. The DbHandler stops on a
closed backend socket in every state, and a ClientHandler writing to it
directly gets the error back.

(cherry picked from commit f8485c2)
poolboy monitors the ClientHandler that checked a worker out, but the
checkin came from the DbHandler. If the ClientHandler died right after
releasing, poolboy could handle its DOWN first, hand the worker to a
second client, then apply the DbHandler's checkin to that second
checkout and hand the worker to a third client while the second was
still using it.

release/2 is now a call that returns once the DbHandler is idle, and the
ClientHandler checks the worker in itself after it. Checkin and DOWN
come from the same process, so poolboy sees them in order.

(cherry picked from commit c5323aa)
@v0idpwn
v0idpwn requested a review from a team as a code owner November 3, 2026 18:19
@v0idpwn v0idpwn changed the title fix: forward-port RELEASE_2_10 fixes to main fix: backend socket send timeout and check-in race (port of #1261, #1262) Nov 3, 2026
@v0idpwn v0idpwn changed the title fix: backend socket send timeout and check-in race (port of #1261, #1262) Forward port #1261 and #1262 Nov 3, 2026
@v0idpwn
v0idpwn enabled auto-merge November 3, 2026 18:25
@v0idpwn
v0idpwn merged commit 73f508e into main Nov 3, 2026
13 of 14 checks passed
@v0idpwn
v0idpwn deleted the forwardport/release-2.10-fixes branch November 3, 2026 18:35
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