Repository: hadoop Updated Branches: refs/heads/branch-2.6 8f8f3b102 -> 5a00b2310
HADOOP-10668. Addendum patch to fix TestZKFailoverController. Contributed by Ming Ma. (cherry picked from commit 925c9fed3311ea1fd8f5ed1cb6b1c0abc5c90425) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/46c7a897 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/46c7a897 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/46c7a897 Branch: refs/heads/branch-2.6 Commit: 46c7a8977a17877d2c85318778a25e5ef5742440 Parents: 8f8f3b1 Author: cnauroth <cnaur...@apache.org> Authored: Wed Jan 21 11:52:48 2015 -0800 Committer: Sangjin Lee <sj...@apache.org> Committed: Thu Nov 5 10:31:00 2015 -0800 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../test/java/org/apache/hadoop/ha/MiniZKFCCluster.java | 5 +++++ .../org/apache/hadoop/ha/TestZKFailoverController.java | 10 +++++----- 3 files changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/46c7a897/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 92b9c22..45a6544 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -18,6 +18,9 @@ Release 2.6.3 - UNRELEASED HADOOP-9242. Duplicate surefire plugin config in hadoop-common. (Andrey Klochkov via suresh) + HADOOP-10668. TestZKFailoverControllerStress#testExpireBackAndForth + occasionally fails. (Ming Ma via cnauroth) + Release 2.6.2 - 2015-10-28 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/46c7a897/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/MiniZKFCCluster.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/MiniZKFCCluster.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/MiniZKFCCluster.java index 1db7924..b0d6d62 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/MiniZKFCCluster.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/MiniZKFCCluster.java @@ -155,6 +155,11 @@ public class MiniZKFCCluster { /** * Wait for the given HA service to enter the given HA state. + * This is based on the state of ZKFC, not the state of HA service. + * There could be difference between the two. For example, + * When the service becomes unhealthy, ZKFC will quit ZK election and + * transition to HAServiceState.INITIALIZING and remain in that state + * until the service becomes healthy. */ public void waitForHAState(int idx, HAServiceState state) throws Exception { http://git-wip-us.apache.org/repos/asf/hadoop/blob/46c7a897/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestZKFailoverController.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestZKFailoverController.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestZKFailoverController.java index 83a29dd..d8271c5 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestZKFailoverController.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestZKFailoverController.java @@ -211,8 +211,8 @@ public class TestZKFailoverController extends ClientBaseWithFixes { LOG.info("Faking svc0 unhealthy, should failover to svc1"); cluster.setHealthy(0, false); - LOG.info("Waiting for svc0 to enter standby state"); - cluster.waitForHAState(0, HAServiceState.STANDBY); + LOG.info("Waiting for svc0 to enter initializing state"); + cluster.waitForHAState(0, HAServiceState.INITIALIZING); cluster.waitForHAState(1, HAServiceState.ACTIVE); LOG.info("Allowing svc0 to be healthy again, making svc1 unreachable " + @@ -332,7 +332,7 @@ public class TestZKFailoverController extends ClientBaseWithFixes { Mockito.verify(svc1.proxy, Mockito.timeout(2000).atLeastOnce()) .transitionToActive(Mockito.<StateChangeRequestInfo>any()); - cluster.waitForHAState(0, HAServiceState.STANDBY); + cluster.waitForHAState(0, HAServiceState.INITIALIZING); cluster.waitForHAState(1, HAServiceState.STANDBY); LOG.info("Faking svc0 healthy again, should go back to svc0"); @@ -587,12 +587,12 @@ public class TestZKFailoverController extends ClientBaseWithFixes { // Failover by bad health cluster.setHealthy(0, false); - cluster.waitForHAState(0, HAServiceState.STANDBY); + cluster.waitForHAState(0, HAServiceState.INITIALIZING); cluster.waitForHAState(1, HAServiceState.ACTIVE); cluster.setHealthy(1, true); cluster.setHealthy(0, false); cluster.waitForHAState(1, HAServiceState.ACTIVE); - cluster.waitForHAState(0, HAServiceState.STANDBY); + cluster.waitForHAState(0, HAServiceState.INITIALIZING); cluster.setHealthy(0, true); cluster.waitForHealthState(0, State.SERVICE_HEALTHY);