Fix multipart decoder cleanup on abnormal termination#6088
Open
shblue21 wants to merge 4 commits into
Open
Conversation
vietj
reviewed
Apr 28, 2026
vietj
reviewed
Apr 28, 2026
vietj
reviewed
Apr 28, 2026
vietj
reviewed
Apr 28, 2026
Member
|
I think overall for HTTP/1.x we should try to have a single method guaranteed to be called to centralize the cleanup logic of the request before doing this |
Contributor
Author
|
I kept this focused on the multipart decoder cleanup paths. A broader HTTP/1.x request cleanup refactor can be handled separately. |
d9c3366 to
b5acfe5
Compare
b5acfe5 to
11dde21
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation:
Multipart decoding should release the Netty multipart decoder when a request terminates abnormally. The normal completion path already cleans it up, but abort/reset/close paths could leave decoder state attached longer than intended.
This updates the abnormal termination paths to clean up the multipart decoder for HTTP/1 and the shared HTTP/2/HTTP/3 request implementation. It also adds regression coverage for incomplete multipart uploads aborted by the client.
Fixes #6014
Conformance:
Confirmed.