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 23de92a5b260..e0387a6b3d60 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 void testExecutorService() throws Exception { 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 void testExecutorService() throws Exception { .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 {