On Wed, 2 Dec 2020 17:21:08 GMT, Daniel Fuchs <dfu...@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

Reply via email to