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

Refine how Request / Channel / Stream completion works #9684

Merged
merged 34 commits into from
May 15, 2023

Conversation

joakime
Copy link
Contributor

@joakime joakime commented Apr 27, 2023

Refine how requests get completed.

  • Handling success / failures
  • Writing success / failures / last-write
  • Callback success / failures
  • Error handling cases
  • Bad Content-Length during error handling
  • Introduce new tests to cover the various combinations that can impact request completion.

+ Fix Bad Content-Length produced if write + error occurs
+ Fix race between callback failure and error handling failure
+ Introduce new ResponseCompleteTest to attempt to capture complete race issue
@joakime joakime added Bug For general bugs on Jetty side Test Jetty 12 labels Apr 27, 2023
@joakime joakime requested review from gregw and sbordet April 27, 2023 18:23
@joakime joakime self-assigned this Apr 27, 2023
@joakime joakime changed the title Restore LargeHeaderTest Test and address bugs with Content-Length calc and request complete race Refine Request / Handling / Callback / Failure completion May 10, 2023
@joakime joakime changed the title Refine Request / Handling / Callback / Failure completion Refine how Request / Channel / Stream completion works May 10, 2023
@joakime joakime removed the Test label May 10, 2023
@gregw
Copy link
Contributor

gregw commented May 12, 2023

@sbordet @joakime this is now green, so I think we should consider merging soon so it does not go stale. There are still somethings that need looking at, but it is better than what is there now.

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.

I'm approving, but it is mostly my own work. Got a thumbs up from @joakime, so that is an OK from him (his PR, so can't approve). @sbordet OK for a merge?

@gregw gregw requested a review from sbordet May 14, 2023 09:05
Copy link
Contributor

@sbordet sbordet left a comment

Choose a reason for hiding this comment

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

I'd remove the shutdownOutput() call from SendCallback.onCompleteSuccess() and see how it goes -- that's the last nit from me.

@gregw gregw merged commit 2fdcae4 into jetty-12.0.x May 15, 2023
@gregw gregw deleted the fix/12.0.x/large-header-test branch May 15, 2023 06:15
sbordet added a commit that referenced this pull request Jun 6, 2023
…ConcurrentStreamsTest.

Fixed by the work done in #9684.

Signed-off-by: Simone Bordet <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For general bugs on Jetty side
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants