> Can I please get a review of this change which fixes the issue noted in > https://bugs.openjdk.org/browse/JDK-8335181? > > As noted in that issue, the current implementation in the > `java.net.http.HttpClient` doesn't correctly handle an incoming GOAWAY frame. > The HTTP3 RFC https://www.rfc-editor.org/rfc/rfc9113#name-goaway notes the > specifics on what the expectations are when an endpoint receives a GOAWAY > frame from the peer. > > Before the changes proposed in this PR, the HttpClient implementation would > (incorrectly) shutdown the connection and abort requests when a GOAWAY frame > was received. The changes in this PR fixes that by retrying relevant > unprocessed requests (if any) and not initiating any new streams on the > connection. > > A new test has been introduced to exercise this detail. The test continues to > pass along with other existing tests. tier testing as well as a repeated > testing (with test-repeat 50) is currently in progress with this change.
Jaikiran Pai has updated the pull request incrementally with two additional commits since the last revision: - move the unprocessed state tracking to ExchangeImpl - reorder setFinalStream and markHalfClosedRemote ------------- Changes: - all: https://git.openjdk.org/jdk/pull/20442/files - new: https://git.openjdk.org/jdk/pull/20442/files/b4641f60..68d08f86 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=20442&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20442&range=02-03 Stats: 23 lines in 3 files changed: 7 ins; 8 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/20442.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20442/head:pull/20442 PR: https://git.openjdk.org/jdk/pull/20442