Version
5.0.x
Context
While looking into multipart abort/reset handling, I noticed that multipart decoders can remain retained on exception/reset/close paths instead of being cleaned up like on normal completion.
I reproduced this by sending incomplete multipart/form-data requests and closing the connection before the final boundary. In my PoC, terminal decoders remained retained for more than 30 seconds after traffic stopped.
The previous discussion and PoC details are here:
Steps to reproduce
- Run a simple Vert.x HTTP server with a
POST /upload endpoint that calls setExpectMultipart(true).
- Send many incomplete
multipart/form-data requests and close the connection before the final boundary.
- Observe that decoder instances can remain retained on terminal paths for an extended time.
Do you have a reproducer?
No response
Version
5.0.x
Context
While looking into multipart abort/reset handling, I noticed that multipart decoders can remain retained on exception/reset/close paths instead of being cleaned up like on normal completion.
I reproduced this by sending incomplete
multipart/form-datarequests and closing the connection before the final boundary. In my PoC, terminal decoders remained retained for more than 30 seconds after traffic stopped.The previous discussion and PoC details are here:
Steps to reproduce
POST /uploadendpoint that callssetExpectMultipart(true).multipart/form-datarequests and close the connection before the final boundary.Do you have a reproducer?
No response