[FLINK-39166] Add bucket-level configuration support to Native S3 FileSystem#27788
Open
Samrat002 wants to merge 1 commit intoapache:masterfrom
Open
[FLINK-39166] Add bucket-level configuration support to Native S3 FileSystem#27788Samrat002 wants to merge 1 commit intoapache:masterfrom
Samrat002 wants to merge 1 commit intoapache:masterfrom
Conversation
Contributor
Author
|
@gaborgsomogyi PTAL |
Collaborator
97c8b58 to
9445fe3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
Add bucket-level configuration support to the Native S3 FileSystem, enabling different S3 buckets to use different connection settings e.g path-style access, endpoint, credentials, SSE, assume-role. Making native s3 support closing gaps from Hadoop S3 FileSystem.
Brief change log
BucketConfigProviderto parse bucket-specific configuration from Flink config using the formats3.bucket.<bucket-name>.<property>S3BucketConfigto hold bucket-level settings (endpoint, path-style, credentials, SSE, assume-role)S3ClientProviderCacheto cache S3 client providers per bucket configurationNativeS3FileSystemto use bucket-specific clients when configured, otherwise the default clientNativeS3FileSystemFactoryto create and passBucketConfigProvider, and addedCONNECTION_TIMEOUTandSOCKET_TIMEOUToptionsVerifying this change
BucketConfigProviderTestwith tests for:S3BucketConfigbuilderDoes this pull request potentially affect one of the following parts:
@Public(Evolving): noDocumentation
flink-s3-fs-native/README.md