> Can I please get a review of this change which proposes to fix > https://bugs.openjdk.org/browse/JDK-8292044? > > The linked JBS issue notes two parts to fixing this. Part one is to > (internally) ignore the intermediate 1xx informational responses, in the > client and wait for subsequent final response from the server. Part two is to > introduce newer APIs to let applications using HttpClient, to have access to > these intermediate response (codes). This commit (only) addresses part one. > Part two is out of scope of this change and a separate issue will be opened > to address it (at a later time). > > The commit in this PR introduces a check to see if the returned response is > an informational response (as defined by RFC-2616 > https://www.rfc-editor.org/rfc/rfc2616#page-58). If the response code is > between 102 and 199 (inclusive), then this change ignores that response and > keeps waiting for a subsequent final response from the server. > > The request timeout (if set) will _not_ be reset when a intermediate > informational response is received (and we ignore it). The request timeout > handling continues to be the same as what it is currently and will span from > the request start till the final response is received. If no final response > is received within the duration of request timeout (if set) then the > application will continue to receive a request timeout exception. > > A new test class has been introduced to reproduce the issue and test the fix. > The test tests both HTTP/1.1 and HTTP2. > > tier1, tier2 and tier3 testing is in progress.
Jaikiran Pai 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 16 additional commits since the last revision: - merge latest from master branch - fix websocket test failures - use reference tracker in test as suggested by Daniel - minor fix to log message - address review comments - remove fully qualified usage of HttpTestServer/Exchange - Close the connection/stream when a 101 response isn't expected - ignore 101 response if the request didn't ask for an Upgrade - fix request URI to take into account IPv6 - code comment adjustment - ... and 6 more: https://git.openjdk.org/jdk/compare/edd70d55...508287a1 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/10169/files - new: https://git.openjdk.org/jdk/pull/10169/files/29334d9b..508287a1 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=10169&range=12 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10169&range=11-12 Stats: 57975 lines in 1073 files changed: 29788 ins; 22560 del; 5627 mod Patch: https://git.openjdk.org/jdk/pull/10169.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10169/head:pull/10169 PR: https://git.openjdk.org/jdk/pull/10169