RFR: 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY" [v3]

Daniel Fuchs dfuchs at openjdk.java.net
Fri Dec 4 15:52:28 UTC 2020


> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
   
   Integrated review comments: added two static methods:
       static boolean isClientStreamId(int streamid);
       static boolean isServerStreamId(int streamid);
 - Merge
 - 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.
 - 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
   
   Fixes an issue in Http2TestServerConnection - where the connection will be closed by
   the server if the server receives a RESET from the client after the stream has been
   closed on the server side.

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1567/files
  - new: https://git.openjdk.java.net/jdk/pull/1567/files/0d15b660..6c6e9b12

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1567&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1567&range=01-02

  Stats: 311 lines in 26 files changed: 194 ins; 41 del; 76 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1567.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1567/head:pull/1567

PR: https://git.openjdk.java.net/jdk/pull/1567


More information about the net-dev mailing list