You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by dr...@apache.org on 2016/08/04 12:42:13 UTC
[24/30] hadoop git commit: HADOOP-10980. TestActiveStandbyElector
fails occasionally in trunk. Contributed by Eric Badger
HADOOP-10980. TestActiveStandbyElector fails occasionally in trunk. Contributed by Eric Badger
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c8274543
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c8274543
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c8274543
Branch: refs/heads/HADOOP-12756
Commit: c82745432a962c817a8a7db92bb830fb6af01e33
Parents: db4a61d
Author: Jason Lowe <jl...@apache.org>
Authored: Wed Aug 3 20:17:30 2016 +0000
Committer: Jason Lowe <jl...@apache.org>
Committed: Wed Aug 3 20:17:30 2016 +0000
----------------------------------------------------------------------
.../apache/hadoop/ha/ActiveStandbyElector.java | 19 +++++++++++++++----
.../hadoop/ha/TestActiveStandbyElector.java | 12 ++++++++++--
2 files changed, 25 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c8274543/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java
index cb2e081..9a90ccf 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java
@@ -667,13 +667,13 @@ public class ActiveStandbyElector implements StatCallback, StringCallback {
/**
* Get a new zookeeper client instance. protected so that test class can
- * inherit and pass in a mock object for zookeeper
+ * inherit and mock out the zookeeper instance
*
* @return new zookeeper client instance
* @throws IOException
* @throws KeeperException zookeeper connectionloss exception
*/
- protected synchronized ZooKeeper getNewZooKeeper() throws IOException,
+ protected synchronized ZooKeeper connectToZooKeeper() throws IOException,
KeeperException {
// Unfortunately, the ZooKeeper constructor connects to ZooKeeper and
@@ -682,7 +682,7 @@ public class ActiveStandbyElector implements StatCallback, StringCallback {
// we construct the watcher first, and have it block any events it receives
// before we can set its ZooKeeper reference.
watcher = new WatcherWithClientRef();
- ZooKeeper zk = new ZooKeeper(zkHostPort, zkSessionTimeout, watcher);
+ ZooKeeper zk = createZooKeeper();
watcher.setZooKeeperRef(zk);
// Wait for the asynchronous success/failure. This may throw an exception
@@ -695,6 +695,17 @@ public class ActiveStandbyElector implements StatCallback, StringCallback {
return zk;
}
+ /**
+ * Get a new zookeeper client instance. protected so that test class can
+ * inherit and pass in a mock object for zookeeper
+ *
+ * @return new zookeeper client instance
+ * @throws IOException
+ */
+ protected ZooKeeper createZooKeeper() throws IOException {
+ return new ZooKeeper(zkHostPort, zkSessionTimeout, watcher);
+ }
+
private void fatalError(String errorMessage) {
LOG.fatal(errorMessage);
reset();
@@ -830,7 +841,7 @@ public class ActiveStandbyElector implements StatCallback, StringCallback {
zkClient = null;
watcher = null;
}
- zkClient = getNewZooKeeper();
+ zkClient = connectToZooKeeper();
if (LOG.isDebugEnabled()) {
LOG.debug("Created new connection for " + this);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c8274543/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestActiveStandbyElector.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestActiveStandbyElector.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestActiveStandbyElector.java
index 83a3a4f..8c6f7a3 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestActiveStandbyElector.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/TestActiveStandbyElector.java
@@ -66,7 +66,7 @@ public class TestActiveStandbyElector {
}
@Override
- public ZooKeeper getNewZooKeeper() {
+ public ZooKeeper connectToZooKeeper() {
++count;
return mockZK;
}
@@ -749,7 +749,15 @@ public class TestActiveStandbyElector {
try {
new ActiveStandbyElector("127.0.0.1", 2000, ZK_PARENT_NAME,
Ids.OPEN_ACL_UNSAFE, Collections.<ZKAuthInfo> emptyList(), mockApp,
- CommonConfigurationKeys.HA_FC_ELECTOR_ZK_OP_RETRIES_DEFAULT);
+ CommonConfigurationKeys.HA_FC_ELECTOR_ZK_OP_RETRIES_DEFAULT) {
+
+ @Override
+ protected ZooKeeper createZooKeeper() throws IOException {
+ return Mockito.mock(ZooKeeper.class);
+ }
+ };
+
+
Assert.fail("Did not throw zookeeper connection loss exceptions!");
} catch (KeeperException ke) {
GenericTestUtils.assertExceptionContains( "ConnectionLoss", ke);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org