Skip to content

Conversation

@steveloughran
Copy link
Contributor

@steveloughran steveloughran commented Aug 21, 2023

This removes the AWS V1 SDK as a hadoop-aws runtime dependency.

It is still used at compile time so as to build a wrapper class V1ToV2AwsCredentialProviderAdapter which allows v1 credential provider to be used for authentication.
All well known credential providers have their classname remapped from v1 to v2 classes prior to instantiation; this wrapper is not needed for them.

There is no support for migrating other SDK plugin points (signing, handlers)

Access to the v2 S3Client class used by an S3A FileSystem instance is now via a new interface org.apache.hadoop.fs.s3a.S3AInternals; other low-level operations (getObjectMetadata(Path)) have moved.

Contributed by Steve Loughran

How was this patch tested?

testing in progress

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

This removes the AWS V1 SDK as a hadoop-aws runtime dependency.

It is still used at compile time so as to build a wrapper class
V1ToV2AwsCredentialProviderAdapter which allows v1 credential provider
to be used for authentication.
All well known credential providers have their classname remapped from
v1 to v2 classes prior to instantiation; this wrapper is not needed
for them.

There is no support for migrating other SDK plugin points
(signing, handlers)

Access to the v2 S3Client class used by an S3A FileSystem
instance is now via a new interface org.apache.hadoop.fs.s3a.S3AInternals;
other low-level operations (getObjectMetadata(Path)) have moved.

Contributed by Steve Loughran

Change-Id: I231fade61b20a206a018d18f5e867f5d3a1fa879
@steveloughran
Copy link
Contributor Author

tested s3 london; mvit -Dparallel-tests -DtestsThreadCount=8 -Dscale

existing multipart issue we should be able fix soon.
if yetus is happy, i will merge this in

[INFO] 
[ERROR] Failures: 
[ERROR]   ITestS3AHugeFilesNoMultipart.test_030_postCreationAssertions:107 Expected a org.apache.hadoop.fs.s3a.api.UnsupportedRequestException to be thrown, but got the result: : true
[ERROR] Errors: 
[ERROR]   ITestS3AHugeFilesNoMultipart>AbstractSTestS3AHugeFiles.test_040_PositionedReadHugeFile:502->AbstractSTestS3AHugeFiles.assumeHugeFileExists:461->AbstractSTestS3AHugeFiles.assumeFileExists:471 » FileNotFound
[ERROR]   ITestS3AHugeFilesNoMultipart>AbstractSTestS3AHugeFiles.test_045_vectoredIOHugeFile:549->AbstractSTestS3AHugeFiles.assumeHugeFileExists:461->AbstractSTestS3AHugeFiles.assumeFileExists:471 » FileNotFound
[ERROR]   ITestS3AHugeFilesNoMultipart>AbstractSTestS3AHugeFiles.test_050_readHugeFile:604->AbstractSTestS3AHugeFiles.assumeHugeFileExists:461->AbstractSTestS3AHugeFiles.assumeFileExists:471 » FileNotFound
[ERROR]   ITestS3AHugeFilesNoMultipart>AbstractSTestS3AHugeFiles.test_100_renameHugeFile:659->AbstractSTestS3AHugeFiles.assumeHugeFileExists:461->AbstractSTestS3AHugeFiles.assumeFileExists:471 » FileNotFound
[INFO] 

Copy link
Contributor

@mukund-thakur mukund-thakur left a comment

Choose a reason for hiding this comment

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

LGTM +1, already reviewed here #5872

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 31s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 31 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade-3.3 Compile Tests _
+0 🆗 mvndep 16m 16s Maven dependency ordering for branch
+1 💚 mvninstall 39m 38s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 compile 12m 41s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 checkstyle 1m 46s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 mvnsite 19m 36s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 javadoc 5m 4s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+0 🆗 spotbugs 0m 17s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 20m 54s /branch-spotbugs-root-warnings.html root in feature-HADOOP-18073-s3a-sdk-upgrade-3.3 has 1 extant spotbugs warnings.
-1 ❌ spotbugs 0m 50s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade-3.3 has 1 extant spotbugs warnings.
+1 💚 shadedclient 23m 25s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for patch
-1 ❌ mvninstall 0m 17s /patch-mvninstall-hadoop-tools_hadoop-aws.txt hadoop-aws in the patch failed.
-1 ❌ mvninstall 21m 26s /patch-mvninstall-root.txt root in the patch failed.
-1 ❌ compile 11m 13s /patch-compile-root.txt root in the patch failed.
-1 ❌ javac 11m 13s /patch-compile-root.txt root in the patch failed.
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 43s root: The patch generated 0 new + 23 unchanged - 19 fixed = 23 total (was 42)
-1 ❌ mvnsite 5m 6s /patch-mvnsite-root.txt root in the patch failed.
+1 💚 shellcheck 0m 0s No new issues.
-1 ❌ javadoc 5m 13s /results-javadoc-javadoc-root.txt root generated 1 new + 6190 unchanged - 1 fixed = 6191 total (was 6191)
+0 🆗 spotbugs 0m 16s hadoop-project has no data from spotbugs
-1 ❌ spotbugs 0m 21s /patch-spotbugs-hadoop-tools_hadoop-aws.txt hadoop-aws in the patch failed.
-1 ❌ spotbugs 19m 10s /patch-spotbugs-root.txt root in the patch failed.
+1 💚 shadedclient 24m 42s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 617m 59s /patch-unit-root.txt root in the patch failed.
+1 💚 asflicense 1m 16s The patch does not generate ASF License warnings.
858m 52s
Reason Tests
Failed junit tests hadoop.yarn.client.api.impl.TestAMRMClient
hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
hadoop.yarn.server.timelineservice.security.TestTimelineAuthFilterForV2
hadoop.ha.TestZKFailoverController
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5973/1/artifact/out/Dockerfile
GITHUB PR #5973
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint shellcheck shelldocs
uname Linux 5846fe448fb6 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision feature-HADOOP-18073-s3a-sdk-upgrade-3.3 / a4c23fd
Default Java Private Build-1.8.0_362-8u372-gaus1-0ubuntu118.04-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5973/1/testReport/
Max. process+thread count 3310 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5973/1/console
versions git=2.17.1 maven=3.6.0 spotbugs=4.2.2 shellcheck=0.4.6
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Change-Id: I37415cd88a1a46f8537adc4c042855d7e349e8cd
@steveloughran
Copy link
Contributor Author

aah, missed that I'd not pushed up the final changes for the build to work. pushed up and retesting for digiligence.

I'm tempted to cherrypick the util.Sets class to branch-3.3, as that was the problem

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 10m 51s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+1 💚 @author 0m 1s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 31 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade-3.3 Compile Tests _
+0 🆗 mvndep 14m 17s Maven dependency ordering for branch
+1 💚 mvninstall 40m 30s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 compile 19m 49s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 checkstyle 2m 56s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 mvnsite 27m 21s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+1 💚 javadoc 7m 13s feature-HADOOP-18073-s3a-sdk-upgrade-3.3 passed
+0 🆗 spotbugs 0m 18s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 1m 4s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade-3.3 has 1 extant spotbugs warnings.
-1 ❌ spotbugs 35m 58s /branch-spotbugs-root-warnings.html root in feature-HADOOP-18073-s3a-sdk-upgrade-3.3 has 1 extant spotbugs warnings.
+1 💚 shadedclient 75m 54s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 42m 47s the patch passed
+1 💚 compile 20m 44s the patch passed
-1 ❌ javac 20m 44s /results-compile-javac-root.txt root generated 1 new + 1879 unchanged - 2 fixed = 1880 total (was 1881)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 3m 1s root: The patch generated 0 new + 23 unchanged - 19 fixed = 23 total (was 42)
+1 💚 mvnsite 23m 56s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 7m 28s root generated 0 new + 6190 unchanged - 1 fixed = 6190 total (was 6191)
+0 🆗 spotbugs 0m 19s hadoop-project has no data from spotbugs
+1 💚 spotbugs 2m 39s hadoop-common in the patch passed.
+1 💚 spotbugs 1m 21s hadoop-tools/hadoop-aws generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 spotbugs 37m 48s root generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 shadedclient 77m 5s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 730m 35s /patch-unit-root.txt root in the patch passed.
+1 💚 asflicense 1m 34s The patch does not generate ASF License warnings.
1122m 0s
Reason Tests
Failed junit tests hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
hadoop.yarn.server.nodemanager.amrmproxy.TestFederationInterceptor
hadoop.hdfs.server.balancer.TestBalancerWithHANameNodes
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5973/2/artifact/out/Dockerfile
GITHUB PR #5973
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint shellcheck shelldocs
uname Linux 44d17761a672 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision feature-HADOOP-18073-s3a-sdk-upgrade-3.3 / 5253ad6
Default Java Private Build-1.8.0_362-8u372-gaus1-0ubuntu118.04-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5973/2/testReport/
Max. process+thread count 2937 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5973/2/console
versions git=2.17.1 maven=3.6.0 spotbugs=4.2.2 shellcheck=0.4.6
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@steveloughran
Copy link
Contributor Author

tests happy; merging this into the feature branch

@steveloughran steveloughran merged commit 2253c62 into apache:feature-HADOOP-18073-s3a-sdk-upgrade-3.3 Aug 23, 2023
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.

3 participants