Recently the `CompressionUtilsTest#testGunzipBug()...
# dev
a
Recently the
CompressionUtilsTest#testGunzipBug()
test has been flaky on JDK 21. All PR merges into
master
have failed with this in the past 3 weeks (refs: 1, 2, 3). This seems to coincide with the JDK 21 upgrade, it seems CI is pulling the latest version 21.0.9 and it’s possible that the underlying JDK bug has been fixed in this version. The issue appears only on
master
since PRs don’t currently run tests with JDK 21. From what I can tell, these tests don’t actually test Druid’s
CompressionUtils
internals but were likely added to track the historical JDK bug (they still pass on jdk 17). Should we consider removing these tests
testGunzipBug
,
testGunzipBugWorkaround
and
testGunzipBugStreamWorkaround
? Or disable them when running on JDK 21 if they still serve a purpose?
Separately, I think it’d be good to add JDK 21 to the CI test matrix for PRs so we can catch any issues earlier as part of PR runs (assuming they still run in parallel so the overall build time doesn't go up). As it is I think most folks aren't closely monitoring the health of master builds, so it'd be helpful to surface any JDK-specific issues sooner rather than later cc: @Karan Kumar @Gian Merlino
g
I kinda thought we already did that
We should have done that when we removed Java 11 support and added Java 21, which was recent-ish
a
Yeah it now needs a label on PRs to trigger the jdk 21 tests. It failed in this PR with the label: https://github.com/apache/druid/pull/18717
Will remove that requirement, I think it preceded the removal of jdk 11 where we we had 3 different jdks. We can also look into parallelizing the workflows
g
Ahh. That was possibly an oversight? Certainly it's a good idea to run tests on JDK 21, I think
a
yeah I think so. I've disabled the failing test, if someone could take a look at it, that'll be good, thanks
g
Just commented. IMO, it's better to flip 17 and 21 rather than run them both on each PR, so CI can run quickly. That way we're at least always testing with the latest supported JDK on every PR
a
thanks, I was mistaken about the jobs running sequentially for each matrix entry. They actually run in parallel alongside ITs, etc., responded to your comment with CI runtimes with both of the jdks running
g
ah, cool. Thanks. Just merged it