RFR: 8371903: HttpClient: improve handling of HTTP/2 GOAWAY frames with error code [v2]
EunHyunsu
duke at openjdk.org
Wed Dec 10 10:06:48 UTC 2025
On Fri, 5 Dec 2025 09:48:59 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
>>> * Modified `handleGoAway()` to check error code and route appropriately
>>>
>>> * Added `handleGoAwayWithError()` method that:
>>>
>>> * Extracts error code and debug data from GOAWAY frame
>>> * Creates meaningful error messages with error name, hex code, and debug data
>>> * Properly categorizes streams for retry or failure
>>
>> This looks quite similar to something I have proposed here:
>>
>> - https://github.com/laeubi/java-http-client/issues/8
>>
>> As mentioned there, I think having a generic Exception with a STRING(!) message is not really something useful. I would suggest to add an own exception type so the client code is able to extract further details in a semantic way.
>
> Hi @laeubi, yes it's related to your report. The point of this PR is to bring HTTP2 on par with HTTP3, which throws an exception with a string message. Specialized exception can be handled as a future enhancement, but I'd like to see some evidence that it would be useful to users.
@djelinski Fixed the intermittent test failures:
- Removed `close()` call after GOAWAY to avoid connection reset errors
- Server now relies on Http2TestServer for connection cleanup
- Tested 10 times locally, all passed
Should be stable now. Please review when you get a chance
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28632#issuecomment-3636294996
More information about the net-dev
mailing list