On Wed, 2 Dec 2020 17:21:08 GMT, Daniel Fuchs <[email protected]> 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