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

Review read failures impacting writes #10277

Closed
2 tasks
sbordet opened this issue Aug 9, 2023 · 3 comments · Fixed by #10844, #10948, #10432 or #10431
Closed
2 tasks

Review read failures impacting writes #10277

sbordet opened this issue Aug 9, 2023 · 3 comments · Fixed by #10844, #10948, #10432 or #10431
Assignees
Labels
Bug For general bugs on Jetty side

Comments

@sbordet
Copy link
Contributor

sbordet commented Aug 9, 2023

Jetty version(s)
12

Description
Read failures should not impact writes (too much), as a write might still be possible even if the read failed.
Typical examples are early EOF in reads -- they should not impact writes.

The idea is that if a read failure is catastrophic, we would attempt the write anyway and will get the failure through the write, rather than assuming that the writes will fail.

Child issues / prs

@sbordet sbordet added the Bug For general bugs on Jetty side label Aug 9, 2023
@sbordet
Copy link
Contributor Author

sbordet commented Aug 9, 2023

I think this should also help with #10234, because idle timeouts should be treated as read failures and always as hard failures for pending writes.

@sbordet sbordet linked a pull request Aug 9, 2023 that will close this issue
@lorban
Copy link
Contributor

lorban commented Sep 11, 2023

While investigating a server buffer leak in HttpClientStreamTest.testUploadWithConcurrentServerCloseClosesStream() we discovered that stopping a connector while there is an in-flight request does not notify the failure listeners.

While not exactly the same issue, this should be taken into account too.

@joakime joakime removed this from Jetty 12.0.3 Oct 11, 2023
@joakime joakime moved this to 🏗 In progress in Jetty 12.0.4 - FROZEN Oct 12, 2023
gregw added a commit that referenced this issue Nov 1, 2023
gregw added a commit that referenced this issue Nov 1, 2023
gregw added a commit that referenced this issue Nov 1, 2023
@joakime joakime linked a pull request Nov 1, 2023 that will close this issue
gregw added a commit that referenced this issue Nov 7, 2023
@sbordet sbordet self-assigned this Nov 28, 2023
sbordet added a commit that referenced this issue Nov 29, 2023
Separated read failures from write failures.
In this way it is possible to read even if the write side is failed and write even if the read side is failed.

Signed-off-by: Simone Bordet <[email protected]>
@sbordet sbordet linked a pull request Nov 29, 2023 that will close this issue
@joakime joakime moved this to 🏗 In progress in Jetty 12.0.5 - FROZEN Nov 29, 2023
sbordet added a commit that referenced this issue Dec 6, 2023
* Separated read failures from write failures.
* In this way it is possible to read even if the write side is failed and write even if the read side is failed.

Signed-off-by: Simone Bordet <[email protected]>
@sbordet
Copy link
Contributor Author

sbordet commented Dec 6, 2023

FIxed by #10948.

@sbordet sbordet closed this as completed Dec 6, 2023
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Jetty 12.0.5 - FROZEN Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment