This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new 47230c4727c HBASE-27193 TestZooKeeper is flaky (#4615)
47230c4727c is described below
commit 47230c4727ce9edda469abf95fa5d08190b53f0f
Author: Duo Zhang <[email protected]>
AuthorDate: Wed Jul 13 10:32:01 2022 +0800
HBASE-27193 TestZooKeeper is flaky (#4615)
Signed-off-by: Guanghao Zhang <[email protected]>
(cherry picked from commit 2662607b716bab12d5f01de013ba3349cff0d78c)
---
.../src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git
a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
index e774b6eb9b6..33853f61d1c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
@@ -193,9 +193,15 @@ public class TestZooKeeper {
m.getZooKeeper().close();
MockLoadBalancer.retainAssignCalled = false;
final int expectedNumOfListeners = countPermanentListeners(zkw);
+ // the master could already been aborted by some background tasks but
here we call abort
+ // directly to make sure this will happen
m.abort("Test recovery from zk session expired",
new KeeperException.SessionExpiredException());
- assertTrue(m.isStopped()); // Master doesn't recover any more
+ // it is possible that our abort call above returned earlier because of
someone else has
+ // already called abort, but it is possible that it has not finished the
abort call yet so the
+ // isStopped flag is still false, let's wait for sometime.
+ TEST_UTIL.waitFor(5000, () -> m.isStopped()); // Master doesn't recover
any more
+
// The recovered master should not call retainAssignment, as it is not a
// clean startup.
assertFalse("Retain assignment should not be called",
MockLoadBalancer.retainAssignCalled);