RFR: 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2 [v2]

Conor Cleary ccleary at openjdk.org
Thu Feb 9 12:20:47 UTC 2023


On Wed, 8 Feb 2023 12:08:40 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

>> Conor Cleary 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 eight additional commits since the last revision:
>> 
>>  - Merge branch 'JDK-8296410' of https://github.com/c-cleary/jdk into JDK-8296410
>>  - 8296410: Updated copyright header
>>  - 8296410: Use empty trailers instead of sample ones
>>  - 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2
>>  - 8296410: Made test compatible with new test library structure
>>  - Merge branch 'master' of https://github.com/c-cleary/jdk into JDK-8296410
>>  - 8296410: Push Promise Test Case Modifications
>>  - 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2
>
> src/java.net.http/share/classes/jdk/internal/net/http/Stream.java line 140:
> 
>> 138:     private volatile boolean closed;
>> 139:     private volatile boolean endStreamSent;
>> 140:     private volatile boolean finalResponseCodeReceived = false;
> 
> Hello Conor, I've seen some efforts/PRs in recent times where explicit assignment of the type's default value to a `volatile` field was removed for performance considerations. So, maybe this field can just be:
> 
> private volatile boolean finalResponseCodeReceived;

True yes, in fact this has been done elsewhere in the PR actually for `PushedStream.finalPushResponseCodeReceived` where it was declared as you suggested for the same reasons. I will update as you have suggested.

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

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


More information about the net-dev mailing list