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);

Reply via email to