Skip to content

Conversation

ahmarsuhail
Copy link
Contributor

@ahmarsuhail ahmarsuhail commented Feb 21, 2023

Description of PR

Jira: https://issues.apache.org/jira/browse/HADOOP-18565

This PR:

  • Removes TM dependency, as it’s in the bundle now
  • Removes SDK V1 bundle dependency, only need aws-java-sdk-core now
  • Fixes SIGNING_ALGORITHM_STS identifier, I don’t think this was getting picked up correctly until now.
  • Removes V1 client creation and config code. CSE code has been removed too, will be added back in once S3EC becomes available in V2.
  • Adds retries to getRegion() logic. Also, if no endpoint is specified, don’t set the default endpoint. Let the SDK figure it out from the region.
  • Adds caching for bucket regions, warns if no region is configured. Also optimises bucketProbing logic. If a region already exists in the cache for a bucket, it must exist, so return true without probe.
  • You can’t currently add progress listeners to individual operations in the SDK. So modify existing progress listeners for MPU and putObject in S3ABlockOutputStream.
  • Updates reflection methods in S3AUtils to use generics, so it can be used by V1 Cred provider, V2 cred provider, and signers.
  • Adds in custom signer support. No signer factory in V2, so create our own.
  • CopyEncryptionParams logic - Use src object settings if present, otherwise encrypt using FS settings.
  • Removes progress listeners from copyFile(). No meaningful way to add these in V2, as it the transfer listener no longer tracks Transfer_Part_Completed. Only bytes transferred. (We could maybe check if bytes transferred == partSize, but not sure if we want to do this.)
  • ITestS3AEndpointRegion - There’s no client.getRegionName(), so to get these tests to work, have used execution interceptors that throw an exception to exit early.
  • Removes some tests in TestNetworkBinding, looks like they were getting skipped anyway.
  • Removes ITestMarkerTool.testRunWrongBucket - I don’t have a good understanding of ITestMarkerTool, but I believe with the new getRegion() logic, which will throw an UnknownStoreException, we no longer need this test. It currently fails, because it tries to intialise a FS for a bucket which does not exist.

Still TODO

  • GetObjectMetadata() will fail for base path ("/") (empty key), is this ok?
  • Adding an execution interceptor. These can be defined in fs.s3a.audit.execution.interceptors. However can also be added using Global interceptors (however this affects the order in which they are executed).

How was this patch tested?

Tested in eu-west-1 by running mvn -Dparallel-tests -DtestsThreadCount=16 clean verify.

All tests pass now.

Note, to get all tests to pass, we should now configure our config with the bucket specific region. Eg:

    <property>
        <name>fs.s3a.bucket.<my-test-bucket>.endpoint.region</name>
        <value>eu-west-1</value>
    </property>

This is so tests that rely on public buckets don't fail. They will do a bucket probe to get the bucket region and configure the region. If the region was set using fs.s3a.endpoint.region, tests which use public buckets will also end up using this region, and since there is no cross region support, they end up failing.

@ahmarsuhail ahmarsuhail changed the title Feature hadoop 18565 custom signers HADOOP-18565. Completes outstanding items for the SDK V2 upgrade. Feb 21, 2023
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 59s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 2s codespell was not available.
+0 🆗 detsecrets 0m 2s detect-secrets was not available.
+0 🆗 xmllint 0m 2s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 24 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade Compile Tests _
+0 🆗 mvndep 20m 3s Maven dependency ordering for branch
+1 💚 mvninstall 36m 5s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 compile 25m 20s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
+1 💚 compile 21m 40s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08
+1 💚 checkstyle 3m 58s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 mvnsite 1m 22s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 javadoc 1m 3s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
+1 💚 javadoc 1m 5s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08
+0 🆗 spotbugs 0m 43s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 1m 14s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade has 1 extant spotbugs warnings.
+1 💚 shadedclient 26m 55s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 58s Maven dependency ordering for patch
+1 💚 mvninstall 1m 2s the patch passed
+1 💚 compile 24m 31s the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
-1 ❌ javac 24m 31s /results-compile-javac-root-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt root-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 generated 6 new + 2840 unchanged - 2 fixed = 2846 total (was 2842)
+1 💚 compile 21m 38s the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08
-1 ❌ javac 21m 38s /results-compile-javac-root-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08.txt root-jdkPrivateBuild-1.8.0_352-8u352-ga-120.04-b08 with JDK Private Build-1.8.0_352-8u352-ga-120.04-b08 generated 6 new + 2641 unchanged - 2 fixed = 2647 total (was 2643)
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 3m 51s /results-checkstyle-root.txt root: The patch generated 28 new + 43 unchanged - 3 fixed = 71 total (was 46)
+1 💚 mvnsite 1m 19s the patch passed
+1 💚 javadoc 0m 57s the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
-1 ❌ javadoc 0m 39s /patch-javadoc-hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08.txt hadoop-aws in the patch failed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08.
+0 🆗 spotbugs 0m 28s hadoop-project has no data from spotbugs
-1 ❌ spotbugs 1m 27s /new-spotbugs-hadoop-tools_hadoop-aws.html hadoop-tools/hadoop-aws generated 1 new + 0 unchanged - 1 fixed = 1 total (was 1)
+1 💚 shadedclient 27m 5s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 27s hadoop-project in the patch passed.
+1 💚 unit 3m 1s hadoop-aws in the patch passed.
+1 💚 asflicense 0m 52s The patch does not generate ASF License warnings.
232m 13s
Reason Tests
SpotBugs module:hadoop-tools/hadoop-aws
Unread field:S3ABlockOutputStream.java:[line 1026]
Subsystem Report/Notes
Docker ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/1/artifact/out/Dockerfile
GITHUB PR #5421
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle
uname Linux 511e75098078 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 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 / 75761d0
Default Java Private Build-1.8.0_352-8u352-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/1/testReport/
Max. process+thread count 538 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/1/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 58s 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.
+1 💚 @author 0m 1s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 24 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade Compile Tests _
+0 🆗 mvndep 22m 40s Maven dependency ordering for branch
+1 💚 mvninstall 31m 22s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 compile 23m 15s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
+1 💚 compile 20m 21s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08
+1 💚 checkstyle 3m 47s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 mvnsite 1m 41s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 javadoc 1m 23s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
+1 💚 javadoc 1m 26s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08
+0 🆗 spotbugs 0m 54s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 1m 19s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade has 1 extant spotbugs warnings.
+1 💚 shadedclient 24m 21s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 56s Maven dependency ordering for patch
+1 💚 mvninstall 1m 7s the patch passed
+1 💚 compile 22m 31s the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
-1 ❌ javac 22m 30s /results-compile-javac-root-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04.txt root-jdkUbuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 generated 6 new + 2840 unchanged - 2 fixed = 2846 total (was 2842)
+1 💚 compile 20m 26s the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08
-1 ❌ javac 20m 26s /results-compile-javac-root-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08.txt root-jdkPrivateBuild-1.8.0_352-8u352-ga-120.04-b08 with JDK Private Build-1.8.0_352-8u352-ga-120.04-b08 generated 6 new + 2640 unchanged - 2 fixed = 2646 total (was 2642)
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 3m 32s /results-checkstyle-root.txt root: The patch generated 28 new + 43 unchanged - 3 fixed = 71 total (was 46)
+1 💚 mvnsite 1m 37s the patch passed
+1 💚 javadoc 1m 13s the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04
-1 ❌ javadoc 0m 48s /patch-javadoc-hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_352-8u352-ga-1~20.04-b08.txt hadoop-aws in the patch failed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08.
+0 🆗 spotbugs 0m 39s hadoop-project has no data from spotbugs
-1 ❌ spotbugs 1m 34s /new-spotbugs-hadoop-tools_hadoop-aws.html hadoop-tools/hadoop-aws generated 1 new + 0 unchanged - 1 fixed = 1 total (was 1)
+1 💚 shadedclient 24m 22s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 37s hadoop-project in the patch passed.
-1 ❌ unit 3m 21s /patch-unit-hadoop-tools_hadoop-aws.txt hadoop-aws in the patch passed.
+1 💚 asflicense 1m 2s The patch does not generate ASF License warnings.
221m 41s
Reason Tests
SpotBugs module:hadoop-tools/hadoop-aws
Unread field:S3ABlockOutputStream.java:[line 1026]
Failed junit tests hadoop.fs.s3a.TestS3AProxy
Subsystem Report/Notes
Docker ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/2/artifact/out/Dockerfile
GITHUB PR #5421
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle
uname Linux de43cd868f4c 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 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 / 77584b4
Default Java Private Build-1.8.0_352-8u352-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/2/testReport/
Max. process+thread count 692 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/2/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 52s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 28 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade Compile Tests _
+0 🆗 mvndep 17m 7s Maven dependency ordering for branch
+1 💚 mvninstall 34m 28s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 compile 25m 20s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 compile 21m 40s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+1 💚 checkstyle 3m 58s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 mvnsite 2m 59s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 javadoc 2m 5s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 1m 45s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+0 🆗 spotbugs 0m 43s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 1m 14s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade has 1 extant spotbugs warnings.
+1 💚 shadedclient 27m 13s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 58s Maven dependency ordering for patch
+1 💚 mvninstall 2m 9s the patch passed
+1 💚 compile 24m 32s the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javac 24m 32s root-jdkUbuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 generated 0 new + 2840 unchanged - 2 fixed = 2840 total (was 2842)
+1 💚 compile 21m 41s the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+1 💚 javac 21m 41s root-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 generated 0 new + 2641 unchanged - 2 fixed = 2641 total (was 2643)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 3m 53s root: The patch generated 0 new + 49 unchanged - 5 fixed = 49 total (was 54)
+1 💚 mvnsite 2m 53s the patch passed
+1 💚 javadoc 1m 55s the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 0m 27s hadoop-project in the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.
+1 💚 javadoc 0m 41s hadoop-common in the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.
+1 💚 javadoc 0m 38s hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 generated 0 new + 1 unchanged - 3 fixed = 1 total (was 4)
+0 🆗 spotbugs 0m 28s hadoop-project has no data from spotbugs
+1 💚 spotbugs 2m 43s hadoop-common in the patch passed.
+1 💚 spotbugs 1m 25s hadoop-tools/hadoop-aws generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 shadedclient 27m 5s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 26s hadoop-project in the patch passed.
+1 💚 unit 18m 11s hadoop-common in the patch passed.
+1 💚 unit 3m 2s hadoop-aws in the patch passed.
+1 💚 asflicense 0m 53s The patch does not generate ASF License warnings.
259m 46s
Subsystem Report/Notes
Docker ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/15/artifact/out/Dockerfile
GITHUB PR #5421
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint
uname Linux 2fa94d1171f2 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 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 / a055765
Default Java Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/15/testReport/
Max. process+thread count 2561 (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-5421/15/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@ahmarsuhail
Copy link
Contributor Author

I added

  <Match>
    <Class name="org.apache.hadoop.fs.s3a.S3AFileSystem"/>
    <Field name="s3AsyncClient"/>
    <Bug pattern="IS2_INCONSISTENT_SYNC"/>
  </Match>

to hadoop-tools/hadoop-aws/dev-support/findbugs-exclude.xml, but that hasn't suppressed the spotbug for some reason. not sure what I did wrong..

@steveloughran
Copy link
Contributor

it looks exactly the same as the one above, doesn't it?

Sometimes with findbugs is simplest to just surrender: create some setter which is synchronized and set it through that. If you look at MeanStatistic you can see how I had to sync everything to get it to STFU, even the equals() method.

BTW, if you don't know already, it is possible to run the findbugs on the command line. I normally only do this and the checkstyle calls when trying to fix things they've reported through yetus

mvn findbugs:findbugs

@ahmarsuhail
Copy link
Contributor Author

couldn't get mvn findbugs:findbugs to run, got [java] The following classes needed for analysis were missing: [java] java.lang.Object [java] java.io.IOException ...... and couldn't figure out how to fix. Setting s3AsyncClient in a synchronized method, hopefully this fixes the issue

Copy link
Contributor

@steveloughran steveloughran left a comment

Choose a reason for hiding this comment

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

looking good, if spotbugs is happy, minor nits and then its merge time

transferManager = clientFactory.createS3TransferManager(s3AsyncClient);
}

// set in synchronized method to suppress spotbugs error.
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. give it a name like createS3AsyncClient as it is more than a simple setter
  2. comment should be a javadoc so IDEs preview it.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 50s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 28 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade Compile Tests _
+0 🆗 mvndep 16m 55s Maven dependency ordering for branch
+1 💚 mvninstall 33m 59s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 compile 25m 22s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 compile 21m 43s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+1 💚 checkstyle 4m 1s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 mvnsite 3m 1s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 javadoc 2m 4s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 1m 46s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+0 🆗 spotbugs 0m 42s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 1m 14s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade has 1 extant spotbugs warnings.
+1 💚 shadedclient 27m 3s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 57s Maven dependency ordering for patch
+1 💚 mvninstall 2m 7s the patch passed
+1 💚 compile 24m 32s the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
-1 ❌ javac 24m 32s /results-compile-javac-root-jdkUbuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1.txt root-jdkUbuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 generated 2 new + 2840 unchanged - 2 fixed = 2842 total (was 2842)
+1 💚 compile 21m 39s the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
-1 ❌ javac 21m 39s /results-compile-javac-root-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.txt root-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 generated 2 new + 2641 unchanged - 2 fixed = 2643 total (was 2643)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 3m 53s root: The patch generated 0 new + 49 unchanged - 5 fixed = 49 total (was 54)
+1 💚 mvnsite 2m 52s the patch passed
+1 💚 javadoc 1m 55s the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 0m 27s hadoop-project in the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.
+1 💚 javadoc 0m 41s hadoop-common in the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.
+1 💚 javadoc 0m 38s hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 generated 0 new + 1 unchanged - 3 fixed = 1 total (was 4)
+0 🆗 spotbugs 0m 28s hadoop-project has no data from spotbugs
+1 💚 shadedclient 27m 3s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 27s hadoop-project in the patch passed.
+1 💚 unit 18m 12s hadoop-common in the patch passed.
+1 💚 unit 3m 1s hadoop-aws in the patch passed.
+1 💚 asflicense 0m 51s The patch does not generate ASF License warnings.
259m 2s
Subsystem Report/Notes
Docker ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/16/artifact/out/Dockerfile
GITHUB PR #5421
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint
uname Linux 2bcc4cf6a096 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 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 / d1805dd
Default Java Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/16/testReport/
Max. process+thread count 3137 (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-5421/16/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@steveloughran
Copy link
Contributor

spotbugs is happy; deprecation warnings file...all that is left is to get the name of the new method right

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 37s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 28 new or modified test files.
_ feature-HADOOP-18073-s3a-sdk-upgrade Compile Tests _
+0 🆗 mvndep 17m 19s Maven dependency ordering for branch
+1 💚 mvninstall 31m 45s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 compile 23m 11s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 compile 20m 37s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+1 💚 checkstyle 4m 18s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 mvnsite 3m 16s feature-HADOOP-18073-s3a-sdk-upgrade passed
+1 💚 javadoc 2m 17s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 2m 6s feature-HADOOP-18073-s3a-sdk-upgrade passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
+0 🆗 spotbugs 0m 46s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 1m 18s /branch-spotbugs-hadoop-tools_hadoop-aws-warnings.html hadoop-tools/hadoop-aws in feature-HADOOP-18073-s3a-sdk-upgrade has 1 extant spotbugs warnings.
+1 💚 shadedclient 24m 26s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 1m 5s Maven dependency ordering for patch
+1 💚 mvninstall 2m 10s the patch passed
+1 💚 compile 22m 27s the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
-1 ❌ javac 22m 27s /results-compile-javac-root-jdkUbuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1.txt root-jdkUbuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 generated 2 new + 2840 unchanged - 2 fixed = 2842 total (was 2842)
+1 💚 compile 20m 40s the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
-1 ❌ javac 20m 40s /results-compile-javac-root-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.txt root-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 generated 2 new + 2640 unchanged - 2 fixed = 2642 total (was 2642)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 3m 39s root: The patch generated 0 new + 49 unchanged - 5 fixed = 49 total (was 54)
+1 💚 mvnsite 3m 20s the patch passed
+1 💚 javadoc 2m 22s the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1
+1 💚 javadoc 0m 38s hadoop-project in the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.
+1 💚 javadoc 0m 49s hadoop-common in the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09.
+1 💚 javadoc 0m 48s hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu120.04.1-b09 generated 0 new + 1 unchanged - 3 fixed = 1 total (was 4)
+0 🆗 spotbugs 0m 38s hadoop-project has no data from spotbugs
+1 💚 shadedclient 24m 11s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 38s hadoop-project in the patch passed.
+1 💚 unit 18m 23s hadoop-common in the patch passed.
+1 💚 unit 3m 6s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 4s The patch does not generate ASF License warnings.
249m 36s
Subsystem Report/Notes
Docker ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/17/artifact/out/Dockerfile
GITHUB PR #5421
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint
uname Linux 9af955ae8a34 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 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 / b48709f
Default Java Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5421/17/testReport/
Max. process+thread count 2876 (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-5421/17/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@steveloughran
Copy link
Contributor

ok, let's give up on spotbugs. this is one of its enternal losing battles, right?

@steveloughran
Copy link
Contributor

here's what I propose: merge then fix

@ahmarsuhail
Copy link
Contributor Author

sounds good. I've to follow up with a few other fixes anyway. For fixing the spotbugs issue, do you mean reverting the changes made for spotbugs (moving to a separate method)?

@steveloughran steveloughran merged commit 38b2915 into apache:feature-HADOOP-18073-s3a-sdk-upgrade Apr 24, 2023
@steveloughran
Copy link
Contributor

do you mean reverting the changes made for spotbugs (moving to a separate method)?

new method is fine, we just need to add in whatever shuts spotbugs up. I would have hoped that was it

@steveloughran
Copy link
Contributor

oh, and based some other changes, spotbugs warning about extant spotbugs doesn't mean you've added a new one, just that there is one to get rid of. yetus can still warn there even if the pr fixes it, which is what you have just done.

@steveloughran
Copy link
Contributor

I'm going to merge this in and then play with myself; see if there are any more final-final-final changes to worry about. then pull into trunk.

@ahmarsuhail
Copy link
Contributor Author

sounds good. I'm currently working on rebasing, there are couple of things that went into trunk for MPU which are causing conflicts, I should be able to complete the rebase and test by tomorrow. also need to open a PR with a couple of outstanding issues mentioned in this PR and the S3 encryption client, that can also be done after trunk merge though

@steveloughran
Copy link
Contributor

so you want me to merge this as is?

oh, here's my list for the next iteration


* 

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/auth/AwsCredentialListProvider.java
L184 access denied exception. add test for this?

AWSClientConfig
TODO: Don't think you can set a socket factory for the netty client.


cloudstore: add the new paths
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.thirdparty.org.apache.http.conn.ssl.SSLConnectionSocketFactory;  
oftware.amazon.awssdk.services.s3.model.HeadBucketResponse;

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/impl/HeaderProcessing.java
+add test for getHeaders(/) to see what comes back

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3ABucketExistence.java
L128 use explicit region constant rather than inline string

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AConfiguration.java
L552: use intercept()

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AEndpointRegion.java
L75: just throw the exception again
L87, L90, use constants

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/TestS3AAWSCredentialsProvider.java
L44 move o.a.h. imports into "real" hadoop block; include the sets one too

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/TestS3AProxy.java
is new ssl.proxy  setting consistent with what this pr does

hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/auth/delegation/ITestSessionDelegationInFileystem.java
L335 TODO open, getObjectMetadata("/")
? maybe just raise the exception, as getFileStatus() will create a fake entry here, and nothing else should be calling root explicitly

+cut hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/InconsistentS3ClientFactory.java

@ahmarsuhail
Copy link
Contributor Author

I'm going to merge this in and then play with myself

did you mean to trunk or somewhere else?

I was thinking I'll complete the rebase and we can update this feature branch, and then I'll open a PR against trunk to initiate the merge process. Fix any yetus issues and also open a PR for the above list + S3 encryption client.

Will we be ok to merge to trunk even though there is a regression in the rename() performance? The SDK team is looking into implementing multipart copy for the java async client in the TM which should solve that.

ahmarsuhail added a commit to ahmarsuhail/hadoop that referenced this pull request May 15, 2023
…pache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail
ahmarsuhail added a commit to ahmarsuhail/hadoop that referenced this pull request May 16, 2023
…pache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail
@steveloughran
Copy link
Contributor

sorry, i'm creating confusion. I was going to merge this into the feature branch.

I hadn't realised that the sdk was going to hurt rename; yes, that would be an issue.
How hard would it be for us to add it, rather than await for an SDK feature? We have the thread pool so it is a matter of putting the copies into there and awaiting completion...doing it ourselves lets us add the audit headers we can't do today, and lets us be aware of all throttling/retries going on. It's why there's long been interest in doing it internally, just not enough interest to justify the effort.

I think if we do add our implementation, we just need the ability to disable it and fall back to the single COPY in case it turns out that we've gone and broken it...

@steveloughran
Copy link
Contributor

did a local build and test with -Dparallel-tests -DtestsThreadCount=8 -Dscale against s3 london; failures in ITestS3ABucketExistence were seen, but I've not looked at the details there.

ahmarsuhail added a commit to ahmarsuhail/hadoop that referenced this pull request May 17, 2023
…pache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail
steveloughran pushed a commit to steveloughran/hadoop that referenced this pull request Jul 19, 2023
See aws_sdk_v2_changelog.md for details.

Co-authored-by: Ahmar Suhail <[email protected]>
Co-authored-by: Alessandro Passaro <[email protected]>

HADOOP-18073. Address review comments. (apache#31)

addresses review comments + yetus errors

Co-authored-by: Ahmar Suhail <[email protected]>

Move MultiObjectDeleteException to impl

Reinstate old constants

Move TransferManager initialization to ClientFactory

Add unit tests for BlockingEnumeration

Add unit tests for SelectEventStreamPublisher

updates new providers in TestS3AAWSCredentialsProvider to V2

update GET range referrer header logic to V2

adds in unit check for bytes

HADOOP-18565. Complete outstanding items for the AWS SDK V2 upgrade. (apache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail

fixes issues after rebase

Change-Id: I1d4b658979c725a88f6b54832bb7d106ffc2347d
steveloughran pushed a commit to steveloughran/hadoop that referenced this pull request Jul 20, 2023
See aws_sdk_v2_changelog.md for details.

Co-authored-by: Ahmar Suhail <[email protected]>
Co-authored-by: Alessandro Passaro <[email protected]>

HADOOP-18073. Address review comments. (apache#31)

addresses review comments + yetus errors

Co-authored-by: Ahmar Suhail <[email protected]>

Move MultiObjectDeleteException to impl

Reinstate old constants

Move TransferManager initialization to ClientFactory

Add unit tests for BlockingEnumeration

Add unit tests for SelectEventStreamPublisher

updates new providers in TestS3AAWSCredentialsProvider to V2

update GET range referrer header logic to V2

adds in unit check for bytes

HADOOP-18565. Complete outstanding items for the AWS SDK V2 upgrade. (apache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail

fixes issues after rebase

Change-Id: I1d4b658979c725a88f6b54832bb7d106ffc2347d
steveloughran pushed a commit to steveloughran/hadoop that referenced this pull request Aug 23, 2023
See aws_sdk_v2_changelog.md for details.

Co-authored-by: Ahmar Suhail <[email protected]>
Co-authored-by: Alessandro Passaro <[email protected]>

HADOOP-18073. Address review comments. (apache#31)

addresses review comments + yetus errors

Co-authored-by: Ahmar Suhail <[email protected]>

Move MultiObjectDeleteException to impl

Reinstate old constants

Move TransferManager initialization to ClientFactory

Add unit tests for BlockingEnumeration

Add unit tests for SelectEventStreamPublisher

updates new providers in TestS3AAWSCredentialsProvider to V2

update GET range referrer header logic to V2

adds in unit check for bytes

HADOOP-18565. Complete outstanding items for the AWS SDK V2 upgrade. (apache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail
steveloughran pushed a commit to steveloughran/hadoop that referenced this pull request Aug 28, 2023
See aws_sdk_v2_changelog.md for details.

Co-authored-by: Ahmar Suhail <[email protected]>
Co-authored-by: Alessandro Passaro <[email protected]>

HADOOP-18073. Address review comments. (apache#31)

addresses review comments + yetus errors

Co-authored-by: Ahmar Suhail <[email protected]>

Move MultiObjectDeleteException to impl

Reinstate old constants

Move TransferManager initialization to ClientFactory

Add unit tests for BlockingEnumeration

Add unit tests for SelectEventStreamPublisher

updates new providers in TestS3AAWSCredentialsProvider to V2

update GET range referrer header logic to V2

adds in unit check for bytes

HADOOP-18565. Complete outstanding items for the AWS SDK V2 upgrade. (apache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail
steveloughran pushed a commit to steveloughran/hadoop that referenced this pull request Aug 31, 2023
See aws_sdk_v2_changelog.md for details.

Co-authored-by: Ahmar Suhail <[email protected]>
Co-authored-by: Alessandro Passaro <[email protected]>

HADOOP-18073. Address review comments. (apache#31)

addresses review comments + yetus errors

Co-authored-by: Ahmar Suhail <[email protected]>

Move MultiObjectDeleteException to impl

Reinstate old constants

Move TransferManager initialization to ClientFactory

Add unit tests for BlockingEnumeration

Add unit tests for SelectEventStreamPublisher

updates new providers in TestS3AAWSCredentialsProvider to V2

update GET range referrer header logic to V2

adds in unit check for bytes

HADOOP-18565. Complete outstanding items for the AWS SDK V2 upgrade. (apache#5421)

Changes include
* use bundled transfer manager
* adds transfer listener to upload
* adds support for custom signers
* don't set default endpoint
* removes v1 sdk bundle, only use core package
* implements region caching
+ many more

Note: spotbugs is warning about inconsistent
synchronization in accessing a new s3a FS field.
This will be fixed in a follow-up patch.

Contributed by Ahmar Suhail
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