Skip to content

HADOOP-18889. S3A v2 SDK third party support #6141

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 9 commits into from
Oct 12, 2023

Conversation

steveloughran
Copy link
Contributor

  1. handle getBucketLocation() unsupported
  2. append / to marker tool searches if the first call fails.
  3. downgrade change control errors a bit better. TODO: useful error text/docs
  4. handle unknown storage classes.
  5. Docs on how to bind to and test third party stores, including google gcs.

Not doing the region logic; this is other test failures.

Exception translation/resilience

  • new AWSUnsupportedFeatureException ex for unsupported/unavailable errors
  • handle 501 method unimplemented the same
  • all ex > 500 mapped to the AWSStatus500Exception
  • precondition errors handled a bit better
  • GCS throttle exception also recognised.
  • New class ErrorHandling to move our error handling logic too, initially somewhere for new stuff
  • ErrorHandling.maybeTranslateNetworkException() scans down an exception chain and if the inner one is of a known type
    • UnknownHostException
    • NoRouteToHostException
    • ConnectException
      Then a new exception of that specific type is created, with the top level ex its cause.
      This is done to retain the whole stack chain.
  • reduce the number of retries within the AWS SDK
  • and those of our S3ARetryPolicy

The reduction in retries is because its clear when you try to create a bucket
which doesn't resolve that the time for even an UnknownHostException to
eventually fail over 90s, which then hit the s3a retry code.

  • Reducing the sdk retries means these escalate to our code better.
  • Cutting back on our own retries makes it a bit more responsive for most real deployments.
  • maybeTranslateNetworkException() and s3a retry policy means that
    UnknownHostException is recognised and fails fast.

Lots of changes to the test code:

  • more switches to turn off test suites (acls, v1list, ...)
  • more resilience to different test failures
  • pull up skip() checks into config create phase, rather than waiting for fs to be instantiated (faster; keeps the fs cache clean)
  • tuning for new exceptions

How was this patch tested?

  • AWS S3 london: no regressions observed.
  • a third party endpoint: showed troublespots, especially how handling of
    UnknownHostException needed to be radically improved.
    Gave me the stack traces for the docs too

Docs cover google gcs binding; I've not tested that yet, but the settings came from
a colleague who has connected the v1 sdk to it.
A full test run against GCS should be something we require here as it supports
a different subset of the s3 apis (no bulk delete, v1 list only...)

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?

@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 0s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 16 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 50s Maven dependency ordering for branch
+1 💚 mvninstall 33m 22s trunk passed
+1 💚 compile 17m 40s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 compile 16m 41s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 5m 6s trunk passed
+1 💚 mvnsite 2m 47s trunk passed
+1 💚 javadoc 2m 9s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 55s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 1s trunk passed
+1 💚 shadedclient 34m 8s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for patch
+1 💚 mvninstall 1m 31s the patch passed
+1 💚 compile 16m 33s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javac 16m 33s the patch passed
+1 💚 compile 16m 18s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 16m 18s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 14 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 21s /results-checkstyle-root.txt root: The patch generated 9 new + 22 unchanged - 0 fixed = 31 total (was 22)
+1 💚 mvnsite 2m 49s the patch passed
+1 💚 javadoc 2m 4s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
-1 ❌ javadoc 0m 55s /results-javadoc-javadoc-hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-1~20.04.1-b05.txt hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-120.04.1-b05 with JDK Private Build-1.8.0_382-8u382-ga-120.04.1-b05 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 spotbugs 4m 20s the patch passed
+1 💚 shadedclient 34m 31s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 40s hadoop-common in the patch passed.
+1 💚 unit 2m 58s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 10s The patch does not generate ASF License warnings.
249m 53s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/1/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux b95c140165f9 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 trunk / 0edc728
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/1/testReport/
Max. process+thread count 2589 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/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.

1. handle getBucketLocation() unsupported
2. append / to marker tool searches if the first call fails.
3. downgrade change control errors a bit better. TODO: useful error text/docs
4. handle unknown storage classes.
5. Docs on how to bind to and test third party stores, including
   google gcs.

Not doing the region logic; this is other test failures.

Exception translation/resilience
* new AWSUnsupportedFeatureException ex for unsupported/unavailable errors
* handle 501 method unimplemented the same
* all ex > 500 mapped to the AWSStatus500Exception
* precondition errors handled a bit better
* GCS throttle exception also recognised.
* New class ErrorHandling to move our error handling logic too,
  initially somewhere for new stuff
* ErrorHandling.maybeTranslateNetworkException() scans down an
  exception chain and if the inner one is of a known type
   - UnknownHostException
   - NoRouteToHostException
   - ConnectException
  then a new exception of that specific type is created, with the top level ex
  its cause. This is done to retain the whole stack chain.
 * reduce the number of retries within the AWS SDK
 * and those of our normal set.

 The reduction in retries is because its clear when you try to create a bucket
 which doesn't resolve that the time for even an UnknownHostException to
 eventually fail over 90s, which then hit the s3a retry code.
 - Reducing the sdk retries means these escalate to our code better.
 - Cutting back on our own retries makes it a bit more responsive for most real
 deployments.
 - maybeTranslateNetworkException() and s3a retry policy means that
   unknown host exception is recognised and fails fast.

Lots of changes to the test code:

* more switches to turn off test suites (acls, v1list, ...)
* more resilience to different test failures
* pull up skip() checks into config create phase, rather than
  waiting for fs to be instantiated (faster; keeps the fs cache clean)
* tuning for new exceptions

Change-Id: I2c30dc41971a4d303376f53871b514156f68012e
Copy link
Contributor

@ahmarsuhail ahmarsuhail left a comment

Choose a reason for hiding this comment

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

looks good, some minor changes and suggestions

this.invoker = storeContext.getInvoker();
this.auditSpan = storeContext.getActiveAuditSpan();
String p;
if (prefix == null) {
Copy link
Contributor

Choose a reason for hiding this comment

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

would prefer to move this logic out of the constructor. We do something similar in S3AFileSystem.listMultipartUploads. Maybe move to a method in S3AUtils and use that in both places.

Do you know why we were doing the prefix logic in S3AFileSystem.listMultipartUploads and not here?

@@ -2888,6 +2898,7 @@ protected S3ListResult listObjects(S3ListRequest request,
trackDurationOfOperation(trackerFactory,
OBJECT_LIST_REQUEST,
() -> {
checkNotClosed(); // this listing is done in the thread pool, it may actually be closed
Copy link
Contributor

Choose a reason for hiding this comment

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

is the concern here that since the listing is done async, by the time it gets here, S3AFS could have been closed? If yes, we could make the comment clearer:

// this listing is done in the thread pool, filesystem could be closed

also nit: move the comment up a line, above the checkNotClosed()

Copy link
Contributor Author

Choose a reason for hiding this comment

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

exactly: i managed to create a stack trace here when closing an fs client spinning on UnknownHost

import java.net.NoRouteToHostException;
import java.net.UnknownHostException;

/**
Copy link
Contributor

Choose a reason for hiding this comment

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

is the goal to eventually move all translation logic here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes...a big chunk of S3AUtils is now just that mapping, fault extraction etc and isolation is good

Copy link
Contributor Author

Choose a reason for hiding this comment

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

update: already had a class ErrorTranslation. thats's where things are going


# Working with Third-party S3 Stores

The S3A connector works well worth a third-party S3 stores if the following requirements are met:
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: typo, works well with


The S3A connector works well worth a third-party S3 stores if the following requirements are met:

* It correctly implements the core S3 REST API, including support for uploads clothes and the V2 listing API.
Copy link
Contributor

Choose a reason for hiding this comment

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

typo on this line, remove clothes ?

.cause(cause)
.build();
}

Copy link
Contributor

Choose a reason for hiding this comment

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

can also add a similar test for ConnectException

@steveloughran steveloughran force-pushed the s3/HADOOP-18889-third-party branch from 0edc728 to 5042f66 Compare October 3, 2023 13:51
Change-Id: If0d14307d623d90b9c8d827852ffd6c3ea9137e4
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 38s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s 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.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 16 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 43s Maven dependency ordering for branch
+1 💚 mvninstall 32m 19s trunk passed
+1 💚 compile 18m 48s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 compile 17m 53s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 38s trunk passed
+1 💚 mvnsite 2m 37s trunk passed
+1 💚 javadoc 2m 5s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 49s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 18s trunk passed
+1 💚 shadedclient 34m 23s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for patch
+1 💚 mvninstall 1m 26s the patch passed
+1 💚 compile 18m 38s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javac 18m 38s the patch passed
+1 💚 compile 17m 22s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 17m 22s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 29s /results-checkstyle-root.txt root: The patch generated 9 new + 22 unchanged - 0 fixed = 31 total (was 22)
+1 💚 mvnsite 2m 38s the patch passed
+1 💚 javadoc 2m 2s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 50s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 47s the patch passed
+1 💚 shadedclient 35m 24s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 54s hadoop-common in the patch passed.
+1 💚 unit 3m 1s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 6s The patch does not generate ASF License warnings.
254m 45s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/2/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 3ff33b973b65 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 trunk / 8c0dbd4
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/2/testReport/
Max. process+thread count 3149 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/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 41s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 16 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 41s Maven dependency ordering for branch
+1 💚 mvninstall 33m 47s trunk passed
+1 💚 compile 19m 18s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 compile 17m 34s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 48s trunk passed
+1 💚 mvnsite 2m 53s trunk passed
+1 💚 javadoc 2m 1s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 41s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 12s trunk passed
+1 💚 shadedclient 34m 47s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for patch
+1 💚 mvninstall 1m 28s the patch passed
+1 💚 compile 19m 9s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javac 19m 9s the patch passed
+1 💚 compile 17m 23s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 17m 23s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 5m 1s /results-checkstyle-root.txt root: The patch generated 9 new + 22 unchanged - 0 fixed = 31 total (was 22)
+1 💚 mvnsite 2m 53s the patch passed
+1 💚 javadoc 1m 52s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 45s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 25s the patch passed
+1 💚 shadedclient 34m 54s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 56s hadoop-common in the patch passed.
+1 💚 unit 3m 4s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 11s The patch does not generate ASF License warnings.
257m 40s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/3/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 843a19528357 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 trunk / 8c0dbd4
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/3/testReport/
Max. process+thread count 1263 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/3/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.

- GCS raises 404 on a delete of a file which doesn't exist: fix that
- removed that checkNotClosed() call in listings, as it breaks
  directory delete on exit.
- docs updated with full set of options to talk to google gcs.

Test failures
* fix tests which got their stats wrong if single delete was used over
  batch deletes
* content encoding tests can be disabled
* trying to improve ITestCustomSigner but it still fails with GCS.
* rejection of getDefaultEncoding()
* handle region/endpoint test which only work with aws creds/regions/...

Change-Id: I31a5964635e4a8675ec18f2e97139be8bb75d90e
@steveloughran
Copy link
Contributor Author

new commit now works properly with GCS except for some known test failures! Docs cover the details...the key thing is s3a can handle it if you don't have the gcs-connector. No idea about performance diffs. I know gcs does some things with caching parquet footers etc, but s3a offers vector io.

also i've somehow got multipart playing up. will look at.

@steveloughran
Copy link
Contributor Author

Tested: google cloud somewhere

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 38s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 23 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 6s Maven dependency ordering for branch
+1 💚 mvninstall 31m 50s trunk passed
+1 💚 compile 17m 21s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 compile 16m 9s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 15s trunk passed
+1 💚 mvnsite 2m 49s trunk passed
+1 💚 javadoc 2m 7s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 55s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 3s trunk passed
+1 💚 shadedclient 30m 47s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 31m 16s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 34s Maven dependency ordering for patch
+1 💚 mvninstall 1m 29s the patch passed
+1 💚 compile 16m 43s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javac 16m 43s the patch passed
+1 💚 compile 15m 55s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 15m 55s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 7 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 24s /results-checkstyle-root.txt root: The patch generated 2 new + 28 unchanged - 0 fixed = 30 total (was 28)
+1 💚 mvnsite 2m 48s the patch passed
+1 💚 javadoc 1m 58s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 55s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 21s the patch passed
+1 💚 shadedclient 34m 56s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 23s hadoop-common in the patch passed.
+1 💚 unit 3m 8s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 10s The patch does not generate ASF License warnings.
242m 48s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/4/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 14967e03ae5e 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 trunk / a6f80d3
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/4/testReport/
Max. process+thread count 1265 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/4/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.

Error translation uses reflection to create IOE of the right type.
All IOEs at the bottom of an AWS stack chain are regenerated.

Troubleshooting doc updated with the new classnames;
cutting out stack traces rather than bother recreating them.

Pulled the multipart param stuff, which can be addressed in a separate JIRA.
Where I also think we should move listUploads() to S3AInternals
as it is very internal.
But did tweak ITestS3AMultipartUtils while debugging this...
 leaving that in as better assertions are always good.

+ checkstyles

Change-Id: Iba325cc98a95d11911fe41546f91a912a1d9aca5
@steveloughran
Copy link
Contributor Author

latest iteration tested: s3 london at -Dscale and -Dprefetch

*Error translation uses reflection to create IOE of the right type.

  • All IOEs at the bottom of an AWS stack chain are regenerated.
  • Troubleshooting doc updated with the new classnames;
    cutting out stack traces rather than bother recreating them.

Pulled the multipart param stuff, which can be addressed in a separate JIRA.
Where I also think we should move listUploads() to S3AInternals
as it is very internal.
But did tweak ITestS3AMultipartUtils while debugging this...
leaving that in as better assertions are always good.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 38s 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.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 25 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 41s Maven dependency ordering for branch
+1 💚 mvninstall 32m 17s trunk passed
+1 💚 compile 17m 14s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 compile 16m 12s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 25s trunk passed
+1 💚 mvnsite 2m 48s trunk passed
+1 💚 javadoc 2m 8s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 55s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 3s trunk passed
+1 💚 shadedclient 34m 7s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 35s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for patch
+1 💚 mvninstall 1m 30s the patch passed
+1 💚 compile 16m 29s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javac 16m 29s the patch passed
+1 💚 compile 15m 56s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 15m 56s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 9 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 18s /results-checkstyle-root.txt root: The patch generated 1 new + 27 unchanged - 1 fixed = 28 total (was 28)
+1 💚 mvnsite 2m 47s the patch passed
+1 💚 javadoc 2m 4s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 56s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 20s the patch passed
+1 💚 shadedclient 34m 41s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 23s hadoop-common in the patch passed.
+1 💚 unit 3m 5s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 11s The patch does not generate ASF License warnings.
246m 48s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/5/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 5313599553ca 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 trunk / f4fde35
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/5/testReport/
Max. process+thread count 1263 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/5/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.

Copy link
Contributor

@ahmarsuhail ahmarsuhail left a comment

Choose a reason for hiding this comment

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

+1, LGTM. Just have a couple of questions about swallowing exceptions

@@ -69,8 +72,14 @@ public void testNoBucketProbing() throws Exception {
assertTrue("getFileStatus on root should always return a directory",
fs.getFileStatus(root).isDirectory());

expectUnknownStore(
() -> fs.listStatus(root));
try {
Copy link
Contributor

Choose a reason for hiding this comment

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

I didn't understand why we're doing this..why will this listStatus call fail with a third party store?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the region lookup talks to eu-west to get th region of the bucket, and if the credentials aren't valid then the request is rejected with AccessDenied.

s3client.deleteObject(b -> b.bucket(bucket).key(key));
return "deleted " + key;
});
} catch (IOException ignored) {
Copy link
Contributor

Choose a reason for hiding this comment

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

why are we swallowing exceptions here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

google gcs raises 404 if the object doesn't exist.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

note we didn't see this running against the v1 sdk, but that may be test coverage rather than sdk changes

* Explicitly declare SocketException as connectivity failure
* Log at debug whenever retry policies looked up
* Reorder exceptions to alphabetical order, with commentary
* Review use of the Invoke.retry() method.
* Convert timeout config options to millis in constructing s3 clients...
  that didn't help with connection setup issues against the stores.

All invocations are currently declared as idempotent, so
there's no need to differentiate between the idempotent/non-idempotent
calls.

However, things may change in future so having different policies makes sense.

When S3Guard was used we probably did have some considered non idempotent.

Change-Id: I4f4898347e29d4bb0040e7835a2d635543d39d1f
@steveloughran
Copy link
Contributor Author

failure of test run with -Dparallel-tests -DtestsThreadCount=10 -Dscale

normally I run with count=8; wonder if this is a factor. but the huge stuff is done at the end, sequentially. or its a leftover of me cancelling a previous run. in which case i should add a new cleanup

[ERROR] Failures: 
[ERROR]   ITestS3AHugeMagicCommits.test_030_postCreationAssertions:150 [Pending uploads] 
Expected size:<1> but was:<2> in:
<["Upload to tests3ascale/ITestS3AHugeMagicCommits/commit/commit.bin with ID GU0jUb2jczQjP9D0HPT1pbctBiRNC6iXXok03zCW7UsBsqOpwXQfamXwj_E.cMVRiUcmVXxbIUqDYUftzCADiTu6ReSjverMlkx9yWGPpwEF6ZXgD..FCiXE5q02zeCO; initiated 2023-10-10 16:46:50",
    "Upload to tests3ascale/ITestS3AHugeMagicCommits/commit/commit.bin with ID UctmfmGnoyg.F0CvKsScj5.PyFChQdYdiIaes5AMEADRrbLOgZMFoh53P1osgA5hmBR89mSaWl6lqkmLct._3wizqiHYAmpFZvEE9FSUxm.vRSsCb2WcBleQOGYObM4s; initiated 2023-10-10 17:00:53"]>
[ERROR] Errors: 
[ERROR]   ITestS3AHugeMagicCommits>AbstractSTestS3AHugeFiles.test_045_vectoredIOHugeFile:549->AbstractSTestS3AHugeFiles.assumeHugeFileExists:461->AbstractSTestS3AHugeFiles.assumeFileExists:471 » FileNotFound

This was needed to fix ITestS3AHugeMagicCommits once a test had been
interrupted...after which it kept getting worse.

+fix a typo in Statistic string description.

cleanup is a bit ugly. we really need an interface/impl for multipart
operations within the fs.

Change-Id: I9a639b10752ad266c5bfb08efdc0b4c0930da608
@steveloughran
Copy link
Contributor Author

fixed the test cleanup; one failure is

[INFO] 
[ERROR] Failures: 
[ERROR]   ITestS3AContractUnbuffer>AbstractContractUnbufferTest.testUnbufferMultipleReads:114->AbstractContractUnbufferTest.validateFileContents:139->Assert.assertEquals:647->Assert.failNotEquals:835->Assert.fail:89 failed to read expected number of bytes from stream. This may be transient expected:<256> but was:<124>
[ERROR] Errors: 
[ERROR]   ITestS3APrefetchingLruEviction.testSeeksWithLruEviction:162 » TestTimedOut tes...

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 35s 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.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 25 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 48s Maven dependency ordering for branch
-1 ❌ mvninstall 46m 30s /branch-mvninstall-root.txt root in trunk failed.
-1 ❌ compile 10m 49s /branch-compile-root-jdkUbuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04.txt root in trunk failed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04.
+1 💚 compile 16m 4s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 37s trunk passed
+1 💚 mvnsite 2m 49s trunk passed
+1 💚 javadoc 1m 58s trunk passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 45s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 3m 56s trunk passed
+1 💚 shadedclient 38m 19s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 38m 49s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for patch
+1 💚 mvninstall 1m 36s the patch passed
+1 💚 compile 21m 26s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
+1 💚 javac 21m 26s the patch passed
+1 💚 compile 19m 4s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 19m 4s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 9 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 19s /results-checkstyle-root.txt root: The patch generated 1 new + 27 unchanged - 1 fixed = 28 total (was 28)
+1 💚 mvnsite 2m 49s the patch passed
+1 💚 javadoc 2m 15s the patch passed with JDK Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04
-1 ❌ javadoc 0m 53s /results-javadoc-javadoc-hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-1~20.04.1-b05.txt hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-120.04.1-b05 with JDK Private Build-1.8.0_382-8u382-ga-120.04.1-b05 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-1 ❌ spotbugs 0m 30s /patch-spotbugs-hadoop-tools_hadoop-aws.txt hadoop-aws in the patch failed.
-1 ❌ shadedclient 8m 25s patch has errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 17m 9s /patch-unit-hadoop-common-project_hadoop-common.txt hadoop-common in the patch failed.
-1 ❌ unit 0m 47s /patch-unit-hadoop-tools_hadoop-aws.txt hadoop-aws in the patch failed.
-1 ❌ asflicense 1m 24s /results-asflicense.txt The patch generated 3 ASF License warnings.
234m 53s
Reason Tests
Failed junit tests hadoop.io.TestSequenceFileAppend
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/6/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux bf596cab6891 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 trunk / f7d99fd
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20+8-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/6/testReport/
Max. process+thread count 553 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/6/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 35s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 26 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 16m 45s Maven dependency ordering for branch
+1 💚 mvninstall 31m 39s trunk passed
+1 💚 compile 17m 19s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 compile 15m 19s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 22s trunk passed
+1 💚 mvnsite 2m 45s trunk passed
+1 💚 javadoc 2m 8s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 50s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 3m 58s trunk passed
+1 💚 shadedclient 34m 29s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 58s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 1m 26s the patch passed
+1 💚 compile 15m 56s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javac 15m 56s the patch passed
+1 💚 compile 15m 56s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 15m 56s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 9 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 16s /results-checkstyle-root.txt root: The patch generated 2 new + 27 unchanged - 1 fixed = 29 total (was 28)
+1 💚 mvnsite 2m 44s the patch passed
+1 💚 javadoc 2m 4s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
-1 ❌ javadoc 0m 54s /results-javadoc-javadoc-hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-1~20.04.1-b05.txt hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-120.04.1-b05 with JDK Private Build-1.8.0_382-8u382-ga-120.04.1-b05 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 spotbugs 4m 14s the patch passed
+1 💚 shadedclient 34m 30s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 21s hadoop-common in the patch passed.
+1 💚 unit 3m 5s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 14s The patch does not generate ASF License warnings.
246m 28s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/7/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux e7161ae7cee0 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 trunk / a0ffcb5
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/7/testReport/
Max. process+thread count 3152 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/7/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.

the javadoc warning is (a) mistaken (b) complaining about an existing
entry

Change-Id: Ifbbf486cc58d5f896fa8f4a5a38889351bd8fcbe
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 37s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 26 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 16m 15s Maven dependency ordering for branch
+1 💚 mvninstall 31m 46s trunk passed
+1 💚 compile 16m 55s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 compile 17m 30s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 5m 7s trunk passed
+1 💚 mvnsite 2m 39s trunk passed
+1 💚 javadoc 1m 51s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 41s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 3m 58s trunk passed
+1 💚 shadedclient 33m 59s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 27s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 1m 26s the patch passed
+1 💚 compile 16m 16s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javac 16m 16s the patch passed
+1 💚 compile 15m 55s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 15m 55s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 2 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 27s /results-checkstyle-root.txt root: The patch generated 3 new + 26 unchanged - 2 fixed = 29 total (was 28)
+1 💚 mvnsite 2m 46s the patch passed
+1 💚 javadoc 2m 4s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
-1 ❌ javadoc 0m 54s /results-javadoc-javadoc-hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-1~20.04.1-b05.txt hadoop-tools_hadoop-aws-jdkPrivateBuild-1.8.0_382-8u382-ga-120.04.1-b05 with JDK Private Build-1.8.0_382-8u382-ga-120.04.1-b05 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 spotbugs 4m 17s the patch passed
+1 💚 shadedclient 34m 8s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 20s hadoop-common in the patch passed.
+1 💚 unit 3m 5s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 12s The patch does not generate ASF License warnings.
247m 41s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/8/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 91b71db57e72 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 trunk / 3693ff6
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/8/testReport/
Max. process+thread count 1796 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/8/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.

...i understand now. @see must come last in the javadocs

Change-Id: If7464a7d13bbd29fd5a000b2068a2aa536df2d66
@steveloughran
Copy link
Contributor Author

once javadocs is happy i will merge this

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 37s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 26 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 16m 19s Maven dependency ordering for branch
+1 💚 mvninstall 30m 54s trunk passed
+1 💚 compile 16m 48s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 compile 15m 55s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 28s trunk passed
+1 💚 mvnsite 2m 50s trunk passed
+1 💚 javadoc 2m 2s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 44s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 0s trunk passed
+1 💚 shadedclient 34m 24s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 52s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 1m 27s the patch passed
+1 💚 compile 15m 51s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javac 15m 51s the patch passed
+1 💚 compile 15m 26s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 15m 26s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 15s /results-checkstyle-root.txt root: The patch generated 3 new + 26 unchanged - 2 fixed = 29 total (was 28)
+1 💚 mvnsite 2m 48s the patch passed
+1 💚 javadoc 2m 2s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 54s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 17s the patch passed
+1 💚 shadedclient 35m 38s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 8s hadoop-common in the patch passed.
+1 💚 unit 3m 6s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 7s The patch does not generate ASF License warnings.
245m 48s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/9/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 674e50616597 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 trunk / 970d1bf
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/9/testReport/
Max. process+thread count 3152 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/9/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.

Change-Id: I9353a3bd7e8a8044b90f091ea923e5ae53a90de9
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 11m 14s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 26 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 16m 5s Maven dependency ordering for branch
+1 💚 mvninstall 30m 32s trunk passed
+1 💚 compile 16m 11s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 compile 14m 42s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 11s trunk passed
+1 💚 mvnsite 2m 27s trunk passed
+1 💚 javadoc 1m 46s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 33s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 3m 42s trunk passed
+1 💚 shadedclient 32m 34s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 32m 59s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for patch
+1 💚 mvninstall 1m 22s the patch passed
+1 💚 compile 15m 18s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javac 15m 18s the patch passed
+1 💚 compile 14m 46s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 14m 46s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 5s /results-checkstyle-root.txt root: The patch generated 3 new + 26 unchanged - 2 fixed = 29 total (was 28)
+1 💚 mvnsite 2m 26s the patch passed
+1 💚 javadoc 1m 41s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 35s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 4s the patch passed
+1 💚 shadedclient 32m 31s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 4s hadoop-common in the patch passed.
+1 💚 unit 2m 55s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 0s The patch does not generate ASF License warnings.
241m 52s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/10/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 01792a3cec59 5.15.0-86-generic #96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 97992b0
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/10/testReport/
Max. process+thread count 3152 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/10/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 Author

going to cut out the bits related to connection settings; needs its own review. specifically, i want the settings

  <property>
    <name>fs.s3a.connection.timeout</name>
    <value>25000</value>
  </property>

  <property>
    <name>fs.s3a.connection.establish.timeout</name>
    <value>5000</value>
  </property>

to map to millis, and i want tests to show this

@steveloughran steveloughran force-pushed the s3/HADOOP-18889-third-party branch from 13fbaf8 to 97992b0 Compare October 12, 2023 16:41
@steveloughran
Copy link
Contributor Author

rolled back one commit; it's been through yetus so will merge

@steveloughran steveloughran merged commit 81edbeb into apache:trunk Oct 12, 2023
@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.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 26 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 16m 41s Maven dependency ordering for branch
+1 💚 mvninstall 34m 0s trunk passed
+1 💚 compile 18m 39s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 compile 15m 34s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 26s trunk passed
+1 💚 mvnsite 2m 50s trunk passed
+1 💚 javadoc 2m 6s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 54s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 0s trunk passed
+1 💚 shadedclient 33m 47s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 15s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 1m 22s the patch passed
+1 💚 compile 16m 31s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javac 16m 31s the patch passed
+1 💚 compile 16m 8s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 16m 8s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 25s /results-checkstyle-root.txt root: The patch generated 3 new + 26 unchanged - 2 fixed = 29 total (was 28)
+1 💚 mvnsite 2m 46s the patch passed
+1 💚 javadoc 2m 3s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 54s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 20s the patch passed
+1 💚 shadedclient 33m 54s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 14s hadoop-common in the patch passed.
+1 💚 unit 3m 9s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 11s The patch does not generate ASF License warnings.
250m 22s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/11/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 24f73ce3741a 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 trunk / 13fbaf8
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/11/testReport/
Max. process+thread count 1302 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/11/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 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 26 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 16m 32s Maven dependency ordering for branch
+1 💚 mvninstall 31m 52s trunk passed
+1 💚 compile 17m 11s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 compile 15m 29s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 checkstyle 4m 18s trunk passed
+1 💚 mvnsite 2m 28s trunk passed
+1 💚 javadoc 1m 47s trunk passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 35s trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 3m 42s trunk passed
+1 💚 shadedclient 32m 35s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 33m 0s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 30s Maven dependency ordering for patch
+1 💚 mvninstall 1m 22s the patch passed
+1 💚 compile 15m 18s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javac 15m 18s the patch passed
+1 💚 compile 14m 53s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 javac 14m 53s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 5s /results-checkstyle-root.txt root: The patch generated 3 new + 26 unchanged - 2 fixed = 29 total (was 28)
+1 💚 mvnsite 2m 27s the patch passed
+1 💚 javadoc 1m 43s the patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 35s the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
+1 💚 spotbugs 4m 1s the patch passed
+1 💚 shadedclient 34m 7s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 21s hadoop-common in the patch passed.
+1 💚 unit 2m 50s hadoop-aws in the patch passed.
+1 💚 asflicense 1m 8s The patch does not generate ASF License warnings.
236m 58s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/12/artifact/out/Dockerfile
GITHUB PR #6141
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux fb58909410e9 5.15.0-86-generic #96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 97992b0
Default Java Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/12/testReport/
Max. process+thread count 3152 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6141/12/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 pushed a commit to ahmarsuhail/hadoop that referenced this pull request Nov 27, 2023
Tune AWS v2 SDK changes based on testing with third party stores
including GCS.

Contains HADOOP-18889. S3A v2 SDK error translations and troubleshooting docs

* Changes needed to work with multiple third party stores
* New third_party_stores document on how to bind to and test
  third party stores, including google gcs (which works!)
* Troubleshooting docs mostly updated for v2 SDK

Exception translation/resilience

* New AWSUnsupportedFeatureException for unsupported/unavailable errors
* Handle 501 method unimplemented as one of these
* Error codes > 500 mapped to the AWSStatus500Exception if no explicit
  handler.
* Precondition errors handled a bit better
* GCS throttle exception also recognized.
* GCS raises 404 on a delete of a file which doesn't exist: swallow it.
* Error translation uses reflection to create IOE of the right type.
  All IOEs at the bottom of an AWS stack chain are regenerated.
  then a new exception of that specific type is created, with the top level ex
  its cause. This is done to retain the whole stack chain.
* Reduce the number of retries within the AWS SDK
* And those of s3a code.
* S3ARetryPolicy explicitly declare SocketException as connectivity failure
  but subclasses BindException
* SocketTimeoutException also considered connectivity
* Log at debug whenever retry policies looked up
* Reorder exceptions to alphabetical order, with commentary
* Review use of the Invoke.retry() method

 The reduction in retries is because its clear when you try to create a bucket
 which doesn't resolve that the time for even an UnknownHostException to
 eventually fail over 90s, which then hit the s3a retry code.
 - Reducing the SDK retries means these escalate to our code better.
 - Cutting back on our own retries makes it a bit more responsive for most real
 deployments.
 - maybeTranslateNetworkException() and s3a retry policy means that
   unknown host exception is recognised and fails fast.

Contributed by Steve Loughran
ahmarsuhail pushed a commit to ahmarsuhail/hadoop that referenced this pull request Dec 5, 2023
Tune AWS v2 SDK changes based on testing with third party stores
including GCS.

Contains HADOOP-18889. S3A v2 SDK error translations and troubleshooting docs

* Changes needed to work with multiple third party stores
* New third_party_stores document on how to bind to and test
  third party stores, including google gcs (which works!)
* Troubleshooting docs mostly updated for v2 SDK

Exception translation/resilience

* New AWSUnsupportedFeatureException for unsupported/unavailable errors
* Handle 501 method unimplemented as one of these
* Error codes > 500 mapped to the AWSStatus500Exception if no explicit
  handler.
* Precondition errors handled a bit better
* GCS throttle exception also recognized.
* GCS raises 404 on a delete of a file which doesn't exist: swallow it.
* Error translation uses reflection to create IOE of the right type.
  All IOEs at the bottom of an AWS stack chain are regenerated.
  then a new exception of that specific type is created, with the top level ex
  its cause. This is done to retain the whole stack chain.
* Reduce the number of retries within the AWS SDK
* And those of s3a code.
* S3ARetryPolicy explicitly declare SocketException as connectivity failure
  but subclasses BindException
* SocketTimeoutException also considered connectivity
* Log at debug whenever retry policies looked up
* Reorder exceptions to alphabetical order, with commentary
* Review use of the Invoke.retry() method

 The reduction in retries is because its clear when you try to create a bucket
 which doesn't resolve that the time for even an UnknownHostException to
 eventually fail over 90s, which then hit the s3a retry code.
 - Reducing the SDK retries means these escalate to our code better.
 - Cutting back on our own retries makes it a bit more responsive for most real
 deployments.
 - maybeTranslateNetworkException() and s3a retry policy means that
   unknown host exception is recognised and fails fast.

Contributed by Steve Loughran
ahmarsuhail pushed a commit to ahmarsuhail/hadoop that referenced this pull request Dec 5, 2023
Tune AWS v2 SDK changes based on testing with third party stores
including GCS.

Contains HADOOP-18889. S3A v2 SDK error translations and troubleshooting docs

* Changes needed to work with multiple third party stores
* New third_party_stores document on how to bind to and test
  third party stores, including google gcs (which works!)
* Troubleshooting docs mostly updated for v2 SDK

Exception translation/resilience

* New AWSUnsupportedFeatureException for unsupported/unavailable errors
* Handle 501 method unimplemented as one of these
* Error codes > 500 mapped to the AWSStatus500Exception if no explicit
  handler.
* Precondition errors handled a bit better
* GCS throttle exception also recognized.
* GCS raises 404 on a delete of a file which doesn't exist: swallow it.
* Error translation uses reflection to create IOE of the right type.
  All IOEs at the bottom of an AWS stack chain are regenerated.
  then a new exception of that specific type is created, with the top level ex
  its cause. This is done to retain the whole stack chain.
* Reduce the number of retries within the AWS SDK
* And those of s3a code.
* S3ARetryPolicy explicitly declare SocketException as connectivity failure
  but subclasses BindException
* SocketTimeoutException also considered connectivity
* Log at debug whenever retry policies looked up
* Reorder exceptions to alphabetical order, with commentary
* Review use of the Invoke.retry() method

 The reduction in retries is because its clear when you try to create a bucket
 which doesn't resolve that the time for even an UnknownHostException to
 eventually fail over 90s, which then hit the s3a retry code.
 - Reducing the SDK retries means these escalate to our code better.
 - Cutting back on our own retries makes it a bit more responsive for most real
 deployments.
 - maybeTranslateNetworkException() and s3a retry policy means that
   unknown host exception is recognised and fails fast.

Contributed by Steve Loughran
jiajunmao pushed a commit to jiajunmao/hadoop-MLEC that referenced this pull request Feb 6, 2024
Tune AWS v2 SDK changes based on testing with third party stores
including GCS. 

Contains HADOOP-18889. S3A v2 SDK error translations and troubleshooting docs

* Changes needed to work with multiple third party stores
* New third_party_stores document on how to bind to and test
  third party stores, including google gcs (which works!)
* Troubleshooting docs mostly updated for v2 SDK

Exception translation/resilience

* New AWSUnsupportedFeatureException for unsupported/unavailable errors
* Handle 501 method unimplemented as one of these
* Error codes > 500 mapped to the AWSStatus500Exception if no explicit
  handler.
* Precondition errors handled a bit better
* GCS throttle exception also recognized.
* GCS raises 404 on a delete of a file which doesn't exist: swallow it.
* Error translation uses reflection to create IOE of the right type.
  All IOEs at the bottom of an AWS stack chain are regenerated.
  then a new exception of that specific type is created, with the top level ex
  its cause. This is done to retain the whole stack chain.
* Reduce the number of retries within the AWS SDK
* And those of s3a code.
* S3ARetryPolicy explicitly declare SocketException as connectivity failure
  but subclasses BindException
* SocketTimeoutException also considered connectivity  
* Log at debug whenever retry policies looked up
* Reorder exceptions to alphabetical order, with commentary
* Review use of the Invoke.retry() method 

 The reduction in retries is because its clear when you try to create a bucket
 which doesn't resolve that the time for even an UnknownHostException to
 eventually fail over 90s, which then hit the s3a retry code.
 - Reducing the SDK retries means these escalate to our code better.
 - Cutting back on our own retries makes it a bit more responsive for most real
 deployments.
 - maybeTranslateNetworkException() and s3a retry policy means that
   unknown host exception is recognised and fails fast.

Contributed by Steve Loughran
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants