RFR: 8371903: HttpClient: improve handling of HTTP/2 GOAWAY frames with error code [v2]
Daniel Jeliński
djelinski at openjdk.org
Fri Dec 5 09:51:56 UTC 2025
On Fri, 5 Dec 2025 06:40:44 GMT, Christoph Läubrich <duke at openjdk.org> wrote:
>> EunHyunsu has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8371903: HTTP/2 client should preserve error information from GOAWAY frames
>>
>> Extracts error code and debug data from GOAWAY frames with non-zero
>> error codes and includes them in exception messages. Streams above
>> lastStreamId are marked as unprocessed for retry; others fail with
>> the error details.
>
>> * 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.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28632#issuecomment-3616075477
More information about the net-dev
mailing list