Repository navigation
Conversation
| </dependency> | ||
| <dependency> | ||
| <groupId>software.amazon.msk</groupId> | ||
| <artifactId>aws-msk-iam-auth</artifactId> |
There was a problem hiding this comment.
we need to provide a uber jar here. If we dont exclude the dependencies as we're doing here, we could clobber other dependencies we are currently using in the extension. and excluding as we're doing here, will likely cause issue as well, as needed dependencies will be missing. AWS produces an uber jar here: https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.5/aws-msk-iam-auth-1.1.5-all.jar. But this is not available on the maven repo that this project uses.
FrankChen021
left a comment
There was a problem hiding this comment.
| Severity | Findings |
|---|---|
| P0 | 0 |
| P1 | 1 |
| P2 | 0 |
| P3 | 0 |
| Total | 1 |
The blanket exclusions make the newly added IAM authentication dependency non-functional at runtime; see the inline finding for the concrete class-loading path and the required dependency fix.
Reviewed 3 of 3 changed files.
This is an automated review by Codex GPT-5.6-Luna(max)
| <version>1.1.5</version> | ||
| <exclusions> | ||
| <exclusion> | ||
| <groupId>*</groupId> |
There was a problem hiding this comment.
[P1] Do not exclude the IAM plugin's runtime SDKs
This is the regular aws-msk-iam-auth artifact, and excluding every transitive dependency leaves its required AWS SDK v2 classes out of the extension. In v1.1.5, the normal IAMLoginModule required; path constructs MSKCredentialProvider, which eagerly constructs EnhancedProfileCredentialsProvider and therefore needs software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; Druid provides the AWS SDK v1 artifacts but has no AWS SDK v2 dependency. The first IAM-authenticated Kafka consumer will consequently fail with NoClassDefFoundError before loading credentials. Please retain the required runtime dependencies (or use a bundled artifact) and apply the same fix to kafka-indexing-service/pom.xml.
Previously, IAM auth did not work for kafka based supervisors and lookups, because the needed dependencies were not included. This fixes the issue.
This PR has: