Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

HADOOP-19093. [ABFS] Improve rate limiting through ABFS in Manifest Committer #6596

Conversation

steveloughran
Copy link
Contributor

@steveloughran steveloughran commented Feb 27, 2024

Description of PR

HADOOP-19093. Improve rate limiting through ABFS in Manifest Committer

Adds a hadoop common API IORateLimiter with a method to acquire IO capacity for a specific operation.

  Duration acquireIOCapacity(String operation, int requestedCapacity);
  1. Abfs/abfs store implement this.
  2. It is invoked through all of the manifest operations to ask for capacity before every operation
  3. Including a configurable amount of capacity for bulk directory delete. The intent to ensure that abort/cleanup doesn't generate significant load.

Because the operation is passed down using standard names, the clients can map the requested "client capacity" to its actual IO capacity (limited to the specific IO instances).

As examples:

  • abfs rename() would map to the HEAD and RENAME calls; capacity of, say, 5.
  • s3a rename file is head + list + copy + delete + list of source parent dir, maybe a PUT.
  • s3 delete would use page size of the bulk request.

This API is intended for Applications who really want to limit their load across bulk operations; otherwise it can be hidden within the actual FileSystem clients. And as it will be restricted to the single process, only effective for reducing the load of those bulk operations.

For S3A I'd use it in the new bulk delete call of #6494

  • new api, so no regression

  • avoids aggressive multithreaded table compaction overloading an s3 classic bucket

  • we can document it from the outset "you will be rate limited".

  • Adds new test which can be explicitly launched to try and trigger rename throttling. doesn't work as you do need to generate a lot of load, and unlike the s3 bulk delete 1K paths "feature", you cannot generate enough load from a single machine.

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 33s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 2 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 15m 8s Maven dependency ordering for branch
+1 💚 mvninstall 31m 40s trunk passed
+1 💚 compile 17m 54s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 compile 16m 19s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 checkstyle 4m 21s trunk passed
+1 💚 mvnsite 2m 39s trunk passed
+1 💚 javadoc 2m 5s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 43s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
-1 ❌ spotbugs 2m 36s /branch-spotbugs-hadoop-common-project_hadoop-common-warnings.html hadoop-common-project/hadoop-common in trunk has 1 extant spotbugs warnings.
+1 💚 shadedclient 33m 50s 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 27s the patch passed
+1 💚 compile 16m 40s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javac 16m 40s the patch passed
+1 💚 compile 16m 22s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 javac 16m 22s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 4m 22s the patch passed
+1 💚 mvnsite 2m 36s the patch passed
+1 💚 javadoc 2m 0s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 1m 44s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 spotbugs 4m 11s the patch passed
+1 💚 shadedclient 33m 54s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 38s hadoop-common in the patch passed.
+1 💚 unit 2m 40s hadoop-azure in the patch passed.
+1 💚 asflicense 1m 4s The patch does not generate ASF License warnings.
244m 18s
Subsystem Report/Notes
Docker ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/1/artifact/out/Dockerfile
GITHUB PR #6596
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 5523a5e5e5ee 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / e250fff
Default Java Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/1/testReport/
Max. process+thread count 3152 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/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.

@@ -489,6 +489,7 @@ protected Path getUniquePath(String filepath) {
.right(UUID.randomUUID().toString(), SHORTENED_GUID_LEN));
}


Copy link
Contributor Author

Choose a reason for hiding this comment

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

cut

@@ -545,7 +545,8 @@ private void resetStatisticsContext() {
* @param futures futures.
* @param sleepInterval Interval in milliseconds to await completion.
*/
private static void waitFor(Collection<Future<?>> futures, int sleepInterval) {
@InterfaceAudience.Private
public static void waitFor(Collection<Future<?>> futures, int sleepInterval) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

or move to FutureIO and cross reference from here. The cleaner solution

@steveloughran
Copy link
Contributor Author

When mapreduce.manifest.committer.validate.output I am going to add pre-rename validation phase we scan the task attempt to directory tree to make sure everything is there and with the expected etag. This is simply a repetition of the tree walk.

I'm going to add rate limiting for all IO within the committer. Currently there's a rate limiter for the committer rename -in the FS instance, so shared across all threads- but nothing else.

my plan is in hadoop common to add a new interface RateLimiterSource where you can then ask for the getRateLimiter(String Path, String operation); with well-known operation names. ABFS Will provide this API and just return the existing rename limiter everywhere. In S3A I'll add separate limiters for read and write operations which can be configured for the 5000 and 3500 limits under a prefix. The WiP bulk delete API #6494 will use this for its rate limiting.

@steveloughran steveloughran force-pushed the abfs/HADOOP-19093-ILoadTestRenameRecovery branch from e250fff to bfd6a46 Compare March 20, 2024 19:24
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ docker 5m 6s Docker failed to build run-specific yetus/hadoop:tp-4955}.
Subsystem Report/Notes
GITHUB PR #6596
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/2/console
versions git=2.34.1
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 48s 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 🆗 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 7 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 41s Maven dependency ordering for branch
+1 💚 mvninstall 36m 48s trunk passed
+1 💚 compile 19m 30s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 compile 18m 36s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 checkstyle 4m 53s trunk passed
+1 💚 mvnsite 3m 35s trunk passed
+1 💚 javadoc 2m 59s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 19s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 25s trunk passed
+1 💚 shadedclient 39m 10s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 39m 38s 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 53s Maven dependency ordering for patch
+1 💚 mvninstall 1m 59s the patch passed
+1 💚 compile 18m 43s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javac 18m 43s the patch passed
+1 💚 compile 18m 6s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 javac 18m 6s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 43s /results-checkstyle-root.txt root: The patch generated 2 new + 23 unchanged - 0 fixed = 25 total (was 23)
-1 ❌ mvnsite 0m 58s /patch-mvnsite-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
+1 💚 javadoc 2m 43s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 20s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 55s the patch passed
+1 💚 shadedclient 39m 20s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 30s hadoop-common in the patch passed.
+1 💚 unit 7m 47s hadoop-mapreduce-client-core in the patch passed.
+1 💚 unit 2m 49s hadoop-azure in the patch passed.
-1 ❌ asflicense 1m 2s /results-asflicense.txt The patch generated 1 ASF License warnings.
285m 43s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/3/artifact/out/Dockerfile
GITHUB PR #6596
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets markdownlint
uname Linux 540c94ea5d03 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 662723f
Default Java Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/3/testReport/
Max. process+thread count 2542 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/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.

@steveloughran steveloughran changed the title HADOOP-19093. [ABFS] ILoadTestRenameRecovery HADOOP-19093. [ABFS] Improve rate limiting through ABFS in Manifest Committer Mar 22, 2024
@steveloughran
Copy link
Contributor Author

testing on an overloaded azure store; hit sime timeouts and an assertion failure in org.apache.hadoop.fs.azurebfs.ITestAbfsClient.testListPathWithValueGreaterThanServerMaximum(ITestAbfsClient.java; created a new JIRA there as it looks like an assertion tuning only.

@steveloughran
Copy link
Contributor Author

Latest PR adds op-specific capacity multiplication to abfs store; numbers are pretty arbitrary as this is only used in the committer. could be tuned in future.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 49s 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 🆗 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 8 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 31s Maven dependency ordering for branch
+1 💚 mvninstall 36m 11s trunk passed
+1 💚 compile 19m 47s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 compile 18m 6s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 checkstyle 4m 54s trunk passed
+1 💚 mvnsite 3m 34s trunk passed
+1 💚 javadoc 2m 45s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 19s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 25s trunk passed
+1 💚 shadedclient 39m 33s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 40m 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 32s Maven dependency ordering for patch
+1 💚 mvninstall 1m 59s the patch passed
+1 💚 compile 18m 37s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javac 18m 37s the patch passed
+1 💚 compile 17m 49s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 javac 17m 49s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 41s /results-checkstyle-root.txt root: The patch generated 3 new + 23 unchanged - 0 fixed = 26 total (was 23)
-1 ❌ mvnsite 0m 56s /patch-mvnsite-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
+1 💚 javadoc 2m 40s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 19s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 56s the patch passed
+1 💚 shadedclient 39m 3s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 42s hadoop-common in the patch passed.
+1 💚 unit 7m 40s hadoop-mapreduce-client-core in the patch passed.
+1 💚 unit 2m 47s hadoop-azure in the patch passed.
+1 💚 asflicense 1m 3s The patch does not generate ASF License warnings.
284m 15s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/4/artifact/out/Dockerfile
GITHUB PR #6596
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets markdownlint
uname Linux baf8f559fa8e 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / b3092b6
Default Java Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/4/testReport/
Max. process+thread count 1264 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/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.

uses wait/notify to try and block threads; doesn't seem to do work.

Change-Id: I2c29968dc666c8e9e18bc59ea83ce59cea70bf52
Don't seem able to generate enough load to force the problem

Change-Id: I35af099611dcc0dc90719d0abc951935c9f3d930
* Hadoop common to add an API RateLimiterSource.
* ABFS exposes its existing rate limiter through the API.
* Manifest committer asks for IO capacity on all IO operations
* new option `mapreduce.manifest.committer.cleanup.directory.write.capacity`.
  number of write IOPS to request for every dir deletion.
* azure storage `fs.azure.io.rate.limit` cut back to 1000.
  Goal: reduce risk of overload.
* Task attempt commit will reattempt to save and rename manifest multiple times
  (3) so that race conditions in TA commit are more likely to be recovered from.

Change-Id: I2038d9b8c1885c4d49c6b191a5b5f4e59779ef04
Rate limiter API is now IORateLimiter

Method:
 Duration acquireIOCapacity(String operation, int requestedCapacity)

+static constructors for unlimited and restricted.
+tests

This is implemented in AbfsStore, exported via ABFS Filesystem.
Manifest committer has values for different operations to ask for
(just made up) and a configured value for directory delete, which
gets passed down from the config.

Fairly complex work splitting current deletion code up to deleteFile
and deleteDir

Change-Id: I3b138974ec81a3120a14bfede4b2535a6abb20fe
* Move IORateLimiter implementation support from public interface to
org.apache.hadoop.fs.impl.IORateLimiterSupport
* abfs store has multiplier for higher cost operations (list, rename,...)
  (not delete)
* tests that abfs multiplier works all the way through
  ManifestStoreOperations.
* Because the multiplication is done in abfs, the ManifestCommitter itself
  set the capacity of all single file operations it wants to "1".

Change-Id: I8a211318ce26b49f6339ba67a52f611839ae0099
Given up trying to make the load test work, instead created it
to a scale test. If it ever does now trigger failure,
the output should be insightful.

Change-Id: I15e78c7006a99661d62113c253679a27cbf914f8
@steveloughran steveloughran force-pushed the abfs/HADOOP-19093-ILoadTestRenameRecovery branch from b3092b6 to 70fe8c4 Compare March 26, 2024 20:46
@steveloughran
Copy link
Contributor Author

I am having fun testing at scale with a throttled store.

[ERROR] testSeekZeroByteFile(org.apache.hadoop.fs.azurebfs.contract.ITestAbfsFileSystemContractSeek)  Time elapsed: 0.339 s  <<< ERROR!
java.io.IOException: Failed with java.io.IOException while processing file/directory :[/fork-0003/test/seekfile.txt] in method:[Operation failed: "The resource was created or modified by the Azure Blob Service API and cannot be written to by the Azure Data Lake Storage Service API.", 409, PUT, https://stevelukwest.dfs.core.windows.net/stevel-testing/fork-0003/test/seekfile.txt?action=flush&retainUncommittedData=false&position=1024&close=true&timeout=90, rId: 2c806902-b01f-0087-20c1-7fec44000000, InvalidFlushOperation, "The resource was created or modified by the Azure Blob Service API and cannot be written to by the Azure Data Lake Storage Service API. RequestId:2c806902-b01f-0087-20c1-7fec44000000 Time:2024-03-26T21:04:12.1799296Z"]
  • likely regression from the manifest changes
[ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 10.484 s <<< FAILURE! - in org.apache.hadoop.fs.azurebfs.commit.ITestAbfsCreateOutputDirectoriesStage
[ERROR] testPrepareDirtyTree(org.apache.hadoop.fs.azurebfs.commit.ITestAbfsCreateOutputDirectoriesStage)  Time elapsed: 9.767 s  <<< FAILURE!
java.lang.AssertionError: Expected a java.io.IOException to be thrown, but got the result: : Result{directory count=64}
        at org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:499)
        at org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:384)
        at org.apache.hadoop.mapreduce.lib.output.committer.manifest.TestCreateOutputDirectoriesStage.testPrepareDirtyTree(TestCreateOutputDirectoriesStage.java:254)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
[ERROR] test_120_terasort(org.apache.hadoop.fs.azurebfs.commit.ITestAbfsTerasort)  Time elapsed: 27.232 s  <<< ERROR!
java.io.IOException: 
java.io.IOException: Unknown Job job_1711487009902_0002
        at org.apache.hadoop.mapreduce.v2.hs.HistoryClientService$HSClientProtocolHandler.verifyAndGetJob(HistoryClientService.java:240)
        at org.apache.hadoop.mapreduce.v2.hs.HistoryClientService$HSClientProtocolHandler.getCounters(HistoryClientService.java:254)
        at org.apache.hadoop.mapreduce.v2.api.impl.pb.service.MRClientProtocolPBServiceImpl.getCounters(MRClientProtocolPBServiceImpl.java:159)
        at org.apache.hadoop.yarn.proto.MRClientProtocol$MRClientProtocolService$2.callBlockingMethod(MRClientProtocol.java:287)
        at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:621)
        at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:589)
        at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:573)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1227)
        at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1249)
        at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1172)

will need to isolate

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 48s 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 🆗 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 8 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 14s Maven dependency ordering for branch
+1 💚 mvninstall 37m 15s trunk passed
+1 💚 compile 19m 34s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 compile 18m 45s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 checkstyle 4m 47s trunk passed
+1 💚 mvnsite 3m 35s trunk passed
+1 💚 javadoc 2m 48s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 19s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 25s trunk passed
+1 💚 shadedclient 38m 47s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 39m 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 58s the patch passed
+1 💚 compile 18m 47s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javac 18m 47s the patch passed
+1 💚 compile 17m 56s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 javac 17m 56s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 6m 14s /results-checkstyle-root.txt root: The patch generated 1 new + 23 unchanged - 0 fixed = 24 total (was 23)
-1 ❌ mvnsite 0m 56s /patch-mvnsite-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
-1 ❌ mvnsite 0m 54s /patch-mvnsite-hadoop-tools_hadoop-azure.txt hadoop-azure in the patch failed.
-1 ❌ javadoc 0m 42s /patch-javadoc-hadoop-tools_hadoop-azure-jdkUbuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1.txt hadoop-azure in the patch failed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1.
-1 ❌ javadoc 0m 46s /results-javadoc-javadoc-hadoop-tools_hadoop-azure-jdkPrivateBuild-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06.txt hadoop-tools_hadoop-azure-jdkPrivateBuild-1.8.0_402-8u402-ga-2ubuntu120.04-b06 with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu120.04-b06 generated 4 new + 15 unchanged - 0 fixed = 19 total (was 15)
-1 ❌ spotbugs 0m 48s /patch-spotbugs-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
-1 ❌ spotbugs 0m 42s /patch-spotbugs-hadoop-tools_hadoop-azure.txt hadoop-azure in the patch failed.
+1 💚 shadedclient 40m 27s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 35s hadoop-common in the patch passed.
-1 ❌ unit 0m 48s /patch-unit-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
-1 ❌ unit 0m 42s /patch-unit-hadoop-tools_hadoop-azure.txt hadoop-azure in the patch failed.
+1 💚 asflicense 1m 4s The patch does not generate ASF License warnings.
275m 37s
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/5/artifact/out/Dockerfile
GITHUB PR #6596
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets markdownlint
uname Linux acf764745178 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 70fe8c4
Default Java Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/5/testReport/
Max. process+thread count 1264 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/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.

I intend to pull the hadoop-common side of things out to be a self contained
patch

Change-Id: I18e32907abccdfa30c28ba5e1f2e15ae58012f69
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 49s 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 🆗 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 8 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 43s Maven dependency ordering for branch
+1 💚 mvninstall 37m 13s trunk passed
+1 💚 compile 19m 38s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 compile 18m 2s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 checkstyle 4m 50s trunk passed
+1 💚 mvnsite 3m 36s trunk passed
+1 💚 javadoc 2m 48s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 20s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 22s trunk passed
+1 💚 shadedclient 39m 14s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 39m 42s 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 57s the patch passed
+1 💚 compile 18m 43s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javac 18m 43s the patch passed
+1 💚 compile 17m 50s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 javac 17m 50s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 44s /results-checkstyle-root.txt root: The patch generated 4 new + 23 unchanged - 0 fixed = 27 total (was 23)
-1 ❌ mvnsite 0m 57s /patch-mvnsite-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
+1 💚 javadoc 2m 41s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 20s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 54s the patch passed
+1 💚 shadedclient 39m 8s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 39s hadoop-common in the patch passed.
-1 ❌ unit 7m 45s /patch-unit-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch passed.
+1 💚 unit 2m 48s hadoop-azure in the patch passed.
+1 💚 asflicense 1m 4s The patch does not generate ASF License warnings.
284m 58s
Reason Tests
Failed junit tests hadoop.mapreduce.lib.output.committer.manifest.TestCreateOutputDirectoriesStage
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/6/artifact/out/Dockerfile
GITHUB PR #6596
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets markdownlint
uname Linux ee70095a1f64 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 4eb6852
Default Java Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/6/testReport/
Max. process+thread count 1855 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/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.

Change-Id: I24169c97ef11e78b93d0107165027b4ea3d08b2c
steveloughran added a commit to steveloughran/hadoop that referenced this pull request Apr 3, 2024
Adds an API (pulled from apache#6596) to allow callers to request
IO capacity for an named operation with optional source and dest paths.

Change-Id: I02aff4d3c90ac299c80f388e88195d69e1049fe0
steveloughran added a commit to steveloughran/hadoop that referenced this pull request Apr 3, 2024
Adds an API (pulled from apache#6596) to allow callers to request
IO capacity for an named operation with optional source and dest paths.

Change-Id: I02aff4d3c90ac299c80f388e88195d69e1049fe0
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 30s 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 🆗 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 8 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 14m 52s Maven dependency ordering for branch
+1 💚 mvninstall 32m 20s trunk passed
+1 💚 compile 17m 38s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 compile 16m 14s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 checkstyle 4m 27s trunk passed
+1 💚 mvnsite 3m 39s trunk passed
+1 💚 javadoc 2m 47s trunk passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 27s trunk passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 5m 29s trunk passed
+1 💚 shadedclient 34m 2s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 29s 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 2m 3s the patch passed
+1 💚 compile 16m 48s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javac 16m 48s the patch passed
+1 💚 compile 16m 16s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 javac 16m 16s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 18s /results-checkstyle-root.txt root: The patch generated 3 new + 23 unchanged - 0 fixed = 26 total (was 23)
-1 ❌ mvnsite 0m 58s /patch-mvnsite-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch failed.
+1 💚 javadoc 2m 41s the patch passed with JDK Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1
+1 💚 javadoc 2m 27s the patch passed with JDK Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
+1 💚 spotbugs 6m 1s the patch passed
+1 💚 shadedclient 34m 44s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 19m 50s hadoop-common in the patch passed.
-1 ❌ unit 7m 37s /patch-unit-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-core.txt hadoop-mapreduce-client-core in the patch passed.
+1 💚 unit 2m 41s hadoop-azure in the patch passed.
+1 💚 asflicense 1m 6s The patch does not generate ASF License warnings.
262m 44s
Reason Tests
Failed junit tests hadoop.mapreduce.lib.output.committer.manifest.TestCreateOutputDirectoriesStage
Subsystem Report/Notes
Docker ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/7/artifact/out/Dockerfile
GITHUB PR #6596
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets markdownlint
uname Linux 65cc0a53e790 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 80462c5
Default Java Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.22+7-post-Ubuntu-0ubuntu220.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_402-8u402-ga-2ubuntu1~20.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/7/testReport/
Max. process+thread count 2152 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6596/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.

@steveloughran steveloughran marked this pull request as draft April 9, 2024 19:00
steveloughran added a commit to steveloughran/hadoop that referenced this pull request Apr 23, 2024
Adds an API (pulled from apache#6596) to allow callers to request
IO capacity for an named operation with optional source and dest paths.

Change-Id: I02aff4d3c90ac299c80f388e88195d69e1049fe0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants