RFR: 8305906: HttpClient may use incorrect key when finding pooled HTTP/2 connection for IPv6 address
Daniel Jeliński
djelinski at openjdk.org
Thu Apr 20 10:30:42 UTC 2023
On Thu, 13 Apr 2023 11:13:07 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
> Can I please get a review of this change which proposes to fix the issue reported in https://bugs.openjdk.org/browse/JDK-8305906?
>
> As noted in that issue, when IPv6 hosts are involved, the HttpClient on certain occasions can end up caching the connection with a key which doesn't match with the key which is then used in a subsequent request against the same target host.
>
> The commit in this PR now wraps the IPv6 address in a square bracket consistently so that the correct key is used both during storing the connection in the pool and when looking up.
>
> A new jtreg test has been added which reproduces this issue without the fix and verifies the fix.
This patch improves the situation, but is not sufficient to address all cases. For example, `http://[::1]` will still not use the cache, because the cache key will contain `[0:0:0:0:0:0:0:1]` instead of `[::1]`.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13456#issuecomment-1516091223
More information about the net-dev
mailing list