RFR: 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY" [v2]
Michael McMahon
michaelm at openjdk.java.net
Fri Dec 4 13:28:16 UTC 2020
On Wed, 2 Dec 2020 17:21:08 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> Hi,
>>
>> Please find below a fix that fixes an issue in Http2TestServerConnection - where the
>> connection will be closed by the test server if the test server receives a RESET from the client
>> after the stream has been closed.
>>
>> This issue has made the ThrowingPushPromisesAsStringCustom test fail from time to time, but
>> the debug traces have eventually revealed what was the issue:
>>
>> DEBUG: [readLoop] [818ms] FramesDecoder Got frame: RESET: length=4, streamid=24, flags=0 Error: Stream cancelled
>> TestServer: Unexpected frame on: 24
>> RESET: length=4, streamid=24, flags=0 Error: Stream cancelled
>> Http server reader thread shutdown
>> java.io.IOException: Unexpected frame
>> at Http2TestServerConnection.readLoop(Http2TestServerConnection.java:776)
>> at Http2TestServerConnection$ConnectionThread.run(Http2TestServerConnection.java:438)
>> Server connection to /127.0.0.1:39830 stopping. 5 streams
>
> Daniel Fuchs has updated the pull request incrementally with one additional commit since the last revision:
>
> 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
>
> Ammended fix to take into account reset frames received on either server streams
> or client streams.
test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java line 785:
> 783: System.err.println("TestServer: received ResetFrame on closed push stream: " + stream);
> 784: System.err.println(frame);
> 785: } else {
For clarity, I'd suggest adding static methods for testing if a streamid is client or server.
Otherwise, the change looks fine.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1567
More information about the net-dev
mailing list