Skip to content

[fs] bump Hadoop to 3.4 and migrate to AWS SDK Java v2 #2674

Open
xx789633 wants to merge 2 commits intoapache:mainfrom
xx789633:aws_upgrade
Open

[fs] bump Hadoop to 3.4 and migrate to AWS SDK Java v2 #2674
xx789633 wants to merge 2 commits intoapache:mainfrom
xx789633:aws_upgrade

Conversation

@xx789633
Copy link
Contributor

@xx789633 xx789633 commented Feb 13, 2026

Purpose

Linked issue: close #1210

Brief change log

Tests

API and Format

Documentation

Comment on lines 19 to 47
- commons-io:commons-io:2.16.1
- commons-logging:commons-logging:1.2
- io.dropwizard.metrics:metrics-core:3.2.4
- io.netty:netty-buffer:4.1.100.Final
- io.netty:netty-codec:4.1.100.Final
- io.netty:netty-common:4.1.100.Final
- io.netty:netty-handler:4.1.100.Final
- io.netty:netty-resolver:4.1.100.Final
- io.netty:netty-transport:4.1.100.Final
- io.netty:netty-transport-classes-epoll:4.1.100.Final
- io.netty:netty-transport-native-epoll:4.1.100.Final
- io.netty:netty-transport-native-unix-common:4.1.100.Final
- org.apache.commons:commons-compress:1.26.1
- org.apache.commons:commons-configuration2:2.10.1
- org.apache.commons:commons-lang3:3.18.0
- org.apache.commons:commons-text:1.4
- org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.1.1
- org.apache.hadoop.thirdparty:hadoop-shaded-protobuf_3_7:1.1.1
- org.apache.hadoop:hadoop-annotations:3.3.4
- org.apache.hadoop:hadoop-auth:3.3.4
- org.apache.hadoop:hadoop-common:3.3.4
- org.apache.kerby:kerb-core:1.0.1
- org.apache.kerby:kerby-asn1:1.0.1
- org.apache.kerby:kerby-pkix:1.0.1
- org.apache.kerby:kerby-util:1.0.1
- org.apache.commons:commons-text:1.10.0
- org.apache.hadoop:hadoop-annotations:3.4.1
- org.apache.hadoop:hadoop-auth:3.4.1
- org.apache.hadoop:hadoop-common:3.4.1
- org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.3.0
- org.apache.hadoop.thirdparty:hadoop-shaded-protobuf_3_25:1.3.0
- org.apache.kerby:kerb-core:2.0.3
- org.apache.kerby:kerb-crypto:2.0.3
- org.apache.kerby:kerb-util:2.0.3
- org.apache.kerby:kerby-asn1:2.0.3
- org.apache.kerby:kerby-config:2.0.3
- org.apache.kerby:kerby-pkix:2.0.3
- org.apache.kerby:kerby-util:2.0.3
- org.codehaus.jettison:jettison:1.5.4
Copy link
Member

Choose a reason for hiding this comment

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

Are the new dependencies really needed? Especially the netty and kerby dependecies. Netty is a big dependency.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link

Choose a reason for hiding this comment

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

@xx789633 these new ones are introduced by Hadoop 3.4 right?
If we set them as exclusions, would everything fall apart?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @wuchong @affo, I have excluded netty dependency.

netty dependency is introduced by Hadoop-common 3.4. I have checked the source code of hadoop-common 3.4 and found it does not use netty at all. The Hadoop community likely declared these dependencies in hadoop-common to unify Netty version management across all sub-modules (such as hadoop-hdfs, hadoop-yarn, and other server-side components), but hadoop-common itself does not actually use them. By the way, netty in Hadoop is mainly used for IPC/RPC, while Fluss only calls standard filesystem calls.

For kerby, those dependencies were there before this pull request. We just upgrade their versions.

.withCredentials(
new AWSStaticCredentialsProvider(
new BasicAWSCredentials(accessKey, secretKey)))
StsClient stsClient =
Copy link
Contributor

Choose a reason for hiding this comment

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

Seems this will also fix #2661 ? Right?
Could you please help verify it?
Also check minio can be supported or not.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't think so. According to the rustfs discussion at https://github.com/orgs/rustfs/discussions/1746, rustfs currently only support STS AssumeRole action and does not yet support GetSessionToken, which is precisely what our code attempts to invoke (https://github.com/apache/fluss/blob/main/fluss-filesystems/fluss-fs-s3/src/main/java/org/apache/fluss/fs/s3/token/S3DelegationTokenProvider.java#L80)

Copy link

@affo affo left a comment

Choose a reason for hiding this comment

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

@xx789633 Thank you so much for this contribution!
I am only adding a comment for what is Hadoop 3.4 introducing in terms of dependencies.
If some may be configured as excluded without impacting functionality, I think we should.

Comment on lines 19 to 47
- commons-io:commons-io:2.16.1
- commons-logging:commons-logging:1.2
- io.dropwizard.metrics:metrics-core:3.2.4
- io.netty:netty-buffer:4.1.100.Final
- io.netty:netty-codec:4.1.100.Final
- io.netty:netty-common:4.1.100.Final
- io.netty:netty-handler:4.1.100.Final
- io.netty:netty-resolver:4.1.100.Final
- io.netty:netty-transport:4.1.100.Final
- io.netty:netty-transport-classes-epoll:4.1.100.Final
- io.netty:netty-transport-native-epoll:4.1.100.Final
- io.netty:netty-transport-native-unix-common:4.1.100.Final
- org.apache.commons:commons-compress:1.26.1
- org.apache.commons:commons-configuration2:2.10.1
- org.apache.commons:commons-lang3:3.18.0
- org.apache.commons:commons-text:1.4
- org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.1.1
- org.apache.hadoop.thirdparty:hadoop-shaded-protobuf_3_7:1.1.1
- org.apache.hadoop:hadoop-annotations:3.3.4
- org.apache.hadoop:hadoop-auth:3.3.4
- org.apache.hadoop:hadoop-common:3.3.4
- org.apache.kerby:kerb-core:1.0.1
- org.apache.kerby:kerby-asn1:1.0.1
- org.apache.kerby:kerby-pkix:1.0.1
- org.apache.kerby:kerby-util:1.0.1
- org.apache.commons:commons-text:1.10.0
- org.apache.hadoop:hadoop-annotations:3.4.1
- org.apache.hadoop:hadoop-auth:3.4.1
- org.apache.hadoop:hadoop-common:3.4.1
- org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.3.0
- org.apache.hadoop.thirdparty:hadoop-shaded-protobuf_3_25:1.3.0
- org.apache.kerby:kerb-core:2.0.3
- org.apache.kerby:kerb-crypto:2.0.3
- org.apache.kerby:kerb-util:2.0.3
- org.apache.kerby:kerby-asn1:2.0.3
- org.apache.kerby:kerby-config:2.0.3
- org.apache.kerby:kerby-pkix:2.0.3
- org.apache.kerby:kerby-util:2.0.3
- org.codehaus.jettison:jettison:1.5.4
Copy link

Choose a reason for hiding this comment

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

@xx789633 these new ones are introduced by Hadoop 3.4 right?
If we set them as exclusions, would everything fall apart?

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.

[filesystem] Migrate to AWS SDK for Java v2

4 participants