Skip to content

Conversation

@lachlan-roberts
Copy link
Contributor

Closes #13993

It is possible for the ThreadLimitHandler to get into a deadlock situation, in the case where the handling threads are doing blocking IO waiting on a callback/runnable to be completed, and the ThreadLimitHandler will not allow the callback to be run because all the permits are used by the handling threads.

This fixes this by allowing NON_BLOCKING invocables to not need to acquire a permit in the ThreadLimitHandler.

Copy link
Contributor

@gregw gregw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EITHER

Signed-off-by: Lachlan Roberts <[email protected]>
@lachlan-roberts lachlan-roberts moved this to 👀 In review in Jetty 12.0.31 Nov 12, 2025
Signed-off-by: Lachlan Roberts <[email protected]>
Copy link
Contributor

@lorban lorban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, can be ported to 12.1.x as is.

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

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

4 participants