On Tue, 20 Sep 2022 05:38:49 GMT, Jaikiran Pai <[email protected]> wrote:

>> 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/7e99c61e...508287a1

Thank you everyone for the inputs and the reviews.

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

PR: https://git.openjdk.org/jdk/pull/10169

Reply via email to