Skip to content

fix: dependencies for Druid 30.0.0 #804

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 16, 2024
Merged

fix: dependencies for Druid 30.0.0 #804

merged 3 commits into from
Aug 16, 2024

Conversation

labrenbe
Copy link
Member

@labrenbe labrenbe commented Aug 14, 2024

Description

Fixes stackabletech/druid-operator#595

This fixes two separate issues that were encountered while testing Druid 30.0.0.

java.lang.NullPointerException
	at java.base/java.util.Objects.requireNonNull(Objects.java:209) ~[?:?]
	at it.unimi.dsi.fastutil.objects.Object2IntRBTreeMap.add(Object2IntRBTreeMap.java:273) ~[fastutil-8.5.13.jar:?]
        [...]

The root cause was an additional null check that was introduced in fastutils 8.5.7:
vigna/fastutil@598a4fd

2024-08-14T15:01:43,208 WARN [qtp1268743900-74] org.eclipse.jetty.server.HttpChannel - /druid-ext/druid-pac4j/callback
java.lang.NoSuchMethodError: 'net.minidev.json.JSONObject com.nimbusds.jwt.JWTClaimsSet.toJSONObject()'
    at com.nimbusds.openid.connect.sdk.claims.IDTokenClaimsSet.<init>(IDTokenClaimsSet.java:238) ~[?:?]
    [...]

The root cause is a breaking change introduced in nimbus-jose-jwt 9.0 where net.minidev.json.JSONObject method arguments and return types were replaced:
https://bitbucket.org/connect2id/nimbus-jose-jwt/src/9.0/CHANGELOG.txt

A local nightly integration test run and the nifi-kafka-druid-earthquake demo were both successful.

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes
- [ ] Changes are OpenShift compatible
- [ ] All added packages (via microdnf or otherwise) have a comment on why they are added
- [ ] Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
- [ ] All packages should have (if available) signatures/hashes verified
- [ ] Add an entry to the CHANGELOG.md file
- [ ] Integration tests ran successfully
TIP: Running integration tests with a new product image

The image can be built and uploaded to the kind cluster with the following commands:

bake --product <product> --image-version <stackable-image-version>
kind load docker-image <image-tagged-with-the-major-version> --name=<name-of-your-test-cluster>

See the output of bake to retrieve the image tag for <image-tagged-with-the-major-version>.

@lfrancke
Copy link
Member

Great job figuring it out! One comment from the off: A comment for future generations would be good so we don't update again in two months....

@labrenbe
Copy link
Member Author

labrenbe commented Aug 15, 2024

Great job figuring it out! One comment from the off: A comment for future generations would be good so we don't update again in two months....

Just added comments to the patch including relevant links.

Copy link
Member

@sbernauer sbernauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, good work!

@labrenbe labrenbe added this pull request to the merge queue Aug 16, 2024
Merged via the queue into main with commit 9ab6516 Aug 16, 2024
14 checks passed
@labrenbe labrenbe deleted the fix/druid-30.0.0 branch August 16, 2024 14:06
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.

Druid 30.0.0 ingestion task failure research
3 participants