RFR: 8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently
Daniel Fuchs
dfuchs at openjdk.java.net
Thu Apr 14 18:36:50 UTC 2022
java/net/httpclient/http2/TLSConnection.java has been observed failing (even though rarely) in test jobs.
The issue is that the handler used on the the server sides maintains a volatile `sslSession` field which it sets when receiving a request, so that the client can check which SSLParameters were negotiated after receiving the response.
However that field is set a little too late: after writing the request body bytes. This means that sometimes the client is able to receive the last byte before the server has updated the field, and can observe the previous value, which was set by the previous request. Checking of SSL parameters on the client side then usually fails, as it is looking at the wrong session.
The proposed fix is very simple: just update the `sslSession` field a little earlier - before writing the response.
-------------
Commit messages:
- 8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently
Changes: https://git.openjdk.java.net/jdk/pull/8249/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8249&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8284892
Stats: 3 lines in 1 file changed: 2 ins; 1 del; 0 mod
Patch: https://git.openjdk.java.net/jdk/pull/8249.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8249/head:pull/8249
PR: https://git.openjdk.java.net/jdk/pull/8249
More information about the net-dev
mailing list