Skip to content

Conversation

@laeubi
Copy link
Contributor

@laeubi laeubi commented Nov 13, 2025

Currently we use HTTP/2 as a default but this produces problems with
GOAWAY from servers breaking the download on some buggy JDKs.

For now we disable HTTP/2 on these unsave versions and only enable it
for those where the bug is fixed.

Fixes

See

FYI @merks

@laeubi
Copy link
Contributor Author

laeubi commented Nov 13, 2025

@scottslewis would be great to include it in this release it does not really harm (all other providers do not support HTTP/2 anyways) and should improve the usage until we have a better solution.

@laeubi laeubi changed the title Always use HTTP 1.1 for requests Only use HTTP/2 on certain java versions Nov 14, 2025
@laeubi
Copy link
Contributor Author

laeubi commented Nov 14, 2025

I now was able to reproduce the bug and refined my fix here to only exclude "bad" java versions.

Currently we use HTTP/2 as a default but this produces problems with
GOAWAY from servers breaking the download on some buggy JDKs.

For now we disable HTTP/2 on these unsave versions and only enable it
for those where the bug is fixed.
@scottslewis
Copy link
Contributor

@scottslewis would be great to include it in this release it does not really harm (all other providers do not support HTTP/2 anyways) and should improve the usage until we have a better solution.

What 'this release' are you referring to?

This appears to me to have a high potential for regression 'in the wild'...i.e. something that can't be caught with unit or integration testing, but would only appear when released and exposed to the large number of http servers...and java versions..or non-java http server impls...that may or may not be doing the right thing.

@laeubi
Copy link
Contributor Author

laeubi commented Nov 15, 2025

What 'this release' are you referring to?

I somehow have assumed there will be a release of ECF at some point in time, maybe even for 2025-12 ...

This appears to me to have a high potential for regression 'in the wild'...

I'm not completely sure I understand.

Currently HTTP/2 is always enabled but it causes issues on JVMs that do not have the fix for JDK-8335181 as one get spurious random errors.

Now we disable HTTP/2 for those versions we know the problem exits, so the worst that can happen is that we use HTTP/1 in some case where it is not strictly needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants