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

Remove buffer from pool on write failure #11951

Merged
merged 10 commits into from
Jun 27, 2024

Conversation

gregw
Copy link
Contributor

@gregw gregw commented Jun 25, 2024

Fixes #11854 by removing buffers from the pool when failed during a write.
This is an alternative solution to #11876

@gregw
Copy link
Contributor Author

gregw commented Jun 25, 2024

@lorban I can make the changes you suggest.... but what do you think of the general approach? Workable?

@lorban
Copy link
Contributor

lorban commented Jun 25, 2024

@gregw I commented this approach here: #11876 (comment)

In short: I think this is the best way to go for 12.0, and we should move most/all Callback.abort() work to 12.1.

@gregw gregw requested a review from lorban June 25, 2024 13:16
@gregw gregw marked this pull request as ready for review June 26, 2024 20:57
@gregw gregw self-assigned this Jun 26, 2024
@joakime joakime added the Sponsored This issue affects a user with a commercial support agreement label Jun 26, 2024
Updates from review.  Remove the API
lorban
lorban previously approved these changes Jun 27, 2024
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.

Two nits, otherwise LGTM

@joakime
Copy link
Contributor

joakime commented Jun 27, 2024

I added the assert on _channelState.isLockHeldByCurrentThread().
If I get a green build, I'll merge this and stage the release.

@joakime
Copy link
Contributor

joakime commented Jun 27, 2024

From https://jenkins.webtide.net/blue/organizations/jenkins/jetty.project/detail/PR-11951/13/pipeline

[ERROR] Errors: 
[ERROR]   ServerConnectorHttpServerTest>HttpServerTestBase.testShutdown:1763 » NullPointer 
   Cannot invoke "org.eclipse.jetty.http.HttpTester$Response.getStatus()" because "response" is null

Not going to merge this one myself.

@gregw
Copy link
Contributor Author

gregw commented Jun 27, 2024

@joakime OK looking... stand by ...

@gregw
Copy link
Contributor Author

gregw commented Jun 27, 2024

@joakime I'm 99% sure that was a flake. rebuilding to check and then will merge.

@joakime joakime merged commit 5e8cc22 into jetty-12.0.x Jun 27, 2024
10 checks passed
@joakime joakime deleted the experiment/jetty-12.0.x/ByteBufferPoolRemove branch June 27, 2024 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Sponsored This issue affects a user with a commercial support agreement
Projects
No open projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

HTTP2 async failure on a stream can lead to the connection being aborted
3 participants