[FLINK-10365] [FLINK-10366] [s3] Create common bases for File System implementations #6714
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
We currently have have three bundled/shaded filesystem connectors that build on top of Hadoop's classes. More will probably come, when we add more bundles file system connector libraries, for example for GCS. Each of them re-builds the shaded Hadoop module, including creating the relocated config, adapting native code loading, etc.
Similarly, there is a lot of code coming for the S3 connectors that will be shared between the Hadoop- and Presto-based implementations.
This PR creates common bases projects for shaded Hadoop and common S3 functionality to be reused.
Brief change log
flink-fs-hadoop-shaded
module and factors out the shaded Hadoop FS classes from the shaded S3 file systems into that module.flink-s3-fs-base
as the common denominator for the Hadoop- and Presto-based implementationsflink-s3-fs-base
moduleI put each change in a separate commit, for easier reviews.
Verifying this change
The test reworks and upgrades dependencies, it does not change functionality.
The existing integration test cases and end-to-end tests still the existing functionality.
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: noDocumentation