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