Skip to content

HIVE-29305 (addendum): Exclude AWS SDK v2 from hive-exec#6398

Merged
okumin merged 5 commits intoapache:masterfrom
okumin:HIVE-29305-addendum
Apr 4, 2026
Merged

HIVE-29305 (addendum): Exclude AWS SDK v2 from hive-exec#6398
okumin merged 5 commits intoapache:masterfrom
okumin:HIVE-29305-addendum

Conversation

@okumin
Copy link
Copy Markdown
Contributor

@okumin okumin commented Mar 31, 2026

What changes were proposed in this pull request?

We exclude AWS SDK from compile dependencies.

Why are the changes needed?

The current configuration causes a dependency hell and .github/workflows/docker-GA-images.yml does not succeed due to the issue.

2026-03-16T07:33:59,366 ERROR [qtp1563324258-54] handler.AbstractRequestHandler: CreateDatabaseHandler [bb8d9170-e10e-4005-80e6-060184a4b566-79] -  Create database newdb: Failed
java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError: Class software.amazon.awssdk.core.client.config.SdkClientOption does not have member field 'software.amazon.awssdk.core.client.config.SdkClientOption CLIENT_ENDPOINT_PROVIDER'
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503) ~[guava-22.0.jar:?]
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462) ~[guava-22.0.jar:?]
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79) ~[guava-22.0.jar:?]
...
Caused by: java.lang.NoSuchFieldError: Class software.amazon.awssdk.core.client.config.SdkClientOption does not have member field 'software.amazon.awssdk.core.client.config.SdkClientOption CLIENT_ENDPOINT_PROVIDER'
	at software.amazon.awssdk.awscore.client.builder.AwsDefaultClientBuilder.finalizeAwsConfiguration(AwsDefaultClientBuilder.java:189) ~[aws-core-2.41.3.jar:?]
	at software.amazon.awssdk.awscore.client.builder.AwsDefaultClientBuilder.finalizeChildConfiguration(AwsDefaultClientBuilder.java:172) ~[aws-core-2.41.3.jar:?]
	at software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.syncClientConfiguration(SdkDefaultClientBuilder.java:197) ~[bundle-2.26.19.jar:?]
	at software.amazon.awssdk.services.s3.DefaultS3ClientBuilder.buildClient(DefaultS3ClientBuilder.java:37) ~[bundle-2.26.19.jar:?]
	at software.amazon.awssdk.services.s3.DefaultS3ClientBuilder.buildClient(DefaultS3ClientBuilder.java:26) ~[bundle-2.26.19.jar:?]
	at software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder.build(SdkDefaultClientBuilder.java:164) ~[bundle-2.26.19.jar:?]
	at org.apache.hadoop.fs.s3a.DefaultS3ClientFactory.createS3Client(DefaultS3ClientFactory.java:137) ~[hadoop-aws-3.4.2.jar:?]

I asked a contributor to include AWS SDK which was a transitive dependency in #6167. The decision was most likely wrong. They should not be a compile dependency and users should inject a bundle AWS SDK when they really use it so that S3A, Hive, or any other services use the consistent SDK.

Does this PR introduce any user-facing change?

No. Hive 4.2.0 also did not bundle SDK in hive-exec.jar directly.

How was this patch tested?

I confirmed the smoke test passed with this configuration.
https://github.com/okumin/hive/actions/runs/23786219926

diff

Master branch with aws-secretsmanager-caching = 2.1.1

[INFO] +- com.amazonaws.secretsmanager:aws-secretsmanager-caching-java:jar:2.1.1:compile
[INFO] |  +- software.amazon.awssdk:secretsmanager:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:aws-json-protocol:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:third-party-jackson-core:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:protocol-core:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:http-auth-aws:jar:2.41.3:compile
[INFO] |  |  |  +- software.amazon.awssdk:checksums-spi:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:checksums:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:sdk-core:jar:2.41.3:compile
[INFO] |  |  |  +- software.amazon.awssdk:profiles:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:retries:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:auth:jar:2.41.3:compile
[INFO] |  |  |  +- software.amazon.awssdk:http-auth-aws-eventstream:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.eventstream:eventstream:jar:1.0.1:compile
[INFO] |  |  +- software.amazon.awssdk:http-auth-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:http-auth:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:identity-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:http-client-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:regions:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:annotations:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:utils:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:aws-core:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:utils-lite:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:metrics-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:json-utils:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:endpoints-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:retries-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:apache-client:jar:2.41.3:runtime
[INFO] |  |  \- software.amazon.awssdk:netty-nio-client:jar:2.41.3:runtime
[INFO] |  \- com.github.spotbugs:spotbugs-annotations:jar:4.9.8:compile

After upgrading aws-secretsmanager-caching to 2.2.0

[INFO] +- com.amazonaws.secretsmanager:aws-secretsmanager-caching-java:jar:2.2.0:compile
[INFO] |  +- software.amazon.awssdk:secretsmanager:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:aws-json-protocol:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:third-party-jackson-core:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:protocol-core:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:http-auth-aws:jar:2.41.3:compile
[INFO] |  |  |  +- software.amazon.awssdk:checksums-spi:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:checksums:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:sdk-core:jar:2.41.3:compile
[INFO] |  |  |  +- software.amazon.awssdk:profiles:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:retries:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:auth:jar:2.41.3:compile
[INFO] |  |  |  +- software.amazon.awssdk:http-auth-aws-eventstream:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.eventstream:eventstream:jar:1.0.1:compile
[INFO] |  |  +- software.amazon.awssdk:http-auth-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:http-auth:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:identity-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:http-client-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:regions:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:annotations:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:utils:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:aws-core:jar:2.41.3:compile
[INFO] |  |  |  \- software.amazon.awssdk:utils-lite:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:metrics-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:json-utils:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:endpoints-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:retries-spi:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk:apache-client:jar:2.41.3:runtime
[INFO] |  |  \- software.amazon.awssdk:netty-nio-client:jar:2.41.3:runtime
[INFO] |  +- software.amazon.awssdk:aws-crt-client:jar:2.41.3:compile
[INFO] |  |  +- software.amazon.awssdk.crt:aws-crt:jar:0.40.3:compile
[INFO] |  |  \- software.amazon.awssdk:crt-core:jar:2.41.3:compile
[INFO] |  \- com.github.spotbugs:spotbugs-annotations:jar:4.9.8:compile

The final dependency (this patch)

[INFO] +- software.amazon.awssdk:bundle:jar:2.26.19:test
[INFO] +- com.amazonaws.secretsmanager:aws-secretsmanager-caching-java:jar:2.2.0:compile
[INFO] |  \- com.github.spotbugs:spotbugs-annotations:jar:4.9.8:compile

@okumin
Copy link
Copy Markdown
Contributor Author

okumin commented Apr 1, 2026

@ryukobayashi I found we would not be able to build a Docker image, so created an additional patch

@ryukobayashi
Copy link
Copy Markdown
Contributor

@okumin Thanks for the information. I will backport it once it's merged!

Copy link
Copy Markdown
Member

@deniskuzZ deniskuzZ left a comment

Choose a reason for hiding this comment

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

+1

@okumin
Copy link
Copy Markdown
Contributor Author

okumin commented Apr 2, 2026

I tried to update the versions and am testing S3A via https://github.com/okumin/hive/actions/runs/23897648469

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 2, 2026

@okumin
Copy link
Copy Markdown
Contributor Author

okumin commented Apr 3, 2026

@deniskuzZ JFYI: I am going to merge this PR tomorrow and unblock #6387 if there are no additional comments.

@deniskuzZ
Copy link
Copy Markdown
Member

@deniskuzZ JFYI: I am going to merge this PR tomorrow and unblock #6387 if there are no additional comments.

@okumin, please go ahead, I've already added +1

@okumin okumin merged commit 25d4a85 into apache:master Apr 4, 2026
2 checks passed
@okumin okumin deleted the HIVE-29305-addendum branch April 4, 2026 04:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants