arturobernalg commented on PR #1133:
URL: https://github.com/apache/tomcat/pull/1133#issuecomment-6529059358

   The original change (StreamException → ConnectionException) was incorrect. 
Confirmed regression in TestCancelledUpload.testCancelledRequest: when a 
servlet rejects a large upload early (reads 128 bytes, returns 403), in-flight 
DATA frames can exceed the remaining stream buffer, triggering the same code 
path. Killing the entire connection in that scenario is wrong.
   
   The `dest.remaining() < dataLength` check is a stream-level buffer capacity 
check, not a connection-level window check. The inBuffer is scoped to the 
per-stream initial window. A violation of that window is a stream error; the 
connection must remain up.
   
   Updated the commit to revert Http2Parser.java to throw StreamException and 
corrected the test to assert RST_STREAM(FLOW_CONTROL_ERROR) instead of GOAWAY. 
All 20 tests in TestHttp2Section_6_9 and both tests in TestCancelledUpload pass.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to