This is an automated email from the ASF dual-hosted git repository.
virajjasani pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-3 by this push:
new 6168c53d291 HBASE-30317 Fix synchronization race in
TestExecutorService (#8531)
6168c53d291 is described below
commit 6168c53d2915c4ba2f993da136415c67dcf089b8
Author: Ma Zhengxuan <[email protected]>
AuthorDate: Sat Aug 22 14:18:23 2026 +0800
HBASE-30317 Fix synchronization race in TestExecutorService (#8531)
Signed-off-by: Viraj Jasani <[email protected]>
---
.../java/org/apache/hadoop/hbase/executor/TestExecutorService.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/hbase-server/src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java
index 23de92a5b26..e0387a6b3d6 100644
---
a/hbase-server/src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java
+++
b/hbase-server/src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java
@@ -98,7 +98,8 @@ public class TestExecutorService {
ExecutorStatus status = executor.getStatus();
assertTrue(status.queuedEvents.isEmpty());
assertEquals(5, status.running.size());
- checkStatusDump(status);
+ Waiter.waitFor(mockedServer.getConfiguration(), 10000,
+ () -> checkStatusDump(executor.getStatus()));
// Now interrupt the running Executor
synchronized (lock) {
@@ -141,13 +142,13 @@ public class TestExecutorService {
.submit(new TestEventHandler(mockedServer, EventType.M_SERVER_SHUTDOWN,
lock, counter));
}
- private void checkStatusDump(ExecutorStatus status) throws IOException {
+ private boolean checkStatusDump(ExecutorStatus status) throws IOException {
StringWriter sw = new StringWriter();
status.dumpTo(sw, "");
String dump = sw.toString();
LOG.info("Got status dump:\n" + dump);
- assertTrue(dump.contains("Waiting on
java.util.concurrent.atomic.AtomicBoolean"));
+ return dump.contains("Waiting on
java.util.concurrent.atomic.AtomicBoolean");
}
public static class TestEventHandler extends EventHandler {