You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by si...@apache.org on 2026/10/14 22:11:52 UTC
(ozone) branch master updated: HDDS-16747. Fix intermittent timeout in testBucketLockWithPurgeDirectory (#11497)
This is an automated email from the ASF dual-hosted git repository.
smengcl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 5123d2f9bc3 HDDS-16747. Fix intermittent timeout in testBucketLockWithPurgeDirectory (#11497)
5123d2f9bc3 is described below
commit 5123d2f9bc3097d0e9d1e639d87d1fdf3f74f0f3
Author: Andrey Yarovoy <11...@users.noreply.github.com>
AuthorDate: Wed Oct 14 18:11:44 2026 -0400
HDDS-16747. Fix intermittent timeout in testBucketLockWithPurgeDirectory (#11497)
---
.../om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
index b23d843ab68..316a1ca478c 100644
--- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
+++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMDirectoriesPurgeRequestAndResponse.java
@@ -45,6 +45,8 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.lang3.RandomUtils;
@@ -311,6 +313,8 @@ public void testBucketLockWithPurgeDirectory() throws Exception {
IOzoneManagerLock lock = spy(omMetadataManager.getLock());
Set<Long> acquiredLockIds = new ConcurrentSkipListSet<>();
Set<String> acquiredLockKeys = new ConcurrentSkipListSet<>();
+ // The lock gate below keys on thread id, so the two requests must run on distinct threads.
+ ExecutorService executor = Executors.newFixedThreadPool(2);
try {
doAnswer(i -> {
long threadId = Thread.currentThread().getId();
@@ -346,15 +350,16 @@ public void testBucketLockWithPurgeDirectory() throws Exception {
preExecute(createPurgeKeysRequest(null, Arrays.asList(purgePathRequest2, purgePathRequest1),
bucketInfoList)));
CompletableFuture future1 = CompletableFuture.runAsync(() ->
- purgePathRequests1.validateAndUpdateCache(ozoneManager, 100L));
+ purgePathRequests1.validateAndUpdateCache(ozoneManager, 100L), executor);
CompletableFuture future2 = CompletableFuture.runAsync(() ->
- purgePathRequests2.validateAndUpdateCache(ozoneManager, 100L));
+ purgePathRequests2.validateAndUpdateCache(ozoneManager, 100L), executor);
future1.get();
future2.get();
assertEquals(Stream.of(bucketInfo1.getVolumeName() + "/" + bucketInfo1.getBucketName(),
bucketInfo2.getVolumeName() + "/" + bucketInfo2.getBucketName()).collect(Collectors.toSet()),
acquiredLockKeys);
} finally {
+ executor.shutdownNow();
reset(lock);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org