Author: todd Date: Thu May 17 00:38:59 2012 New Revision: 1339435 URL: http://svn.apache.org/viewvc?rev=1339435&view=rev Log: HADOOP-8405. ZKFC tests leak ZK instances. Contributed by Todd Lipcon.
Modified: hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/CHANGES.HDFS-3042.txt hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ZKFailoverController.java Modified: hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/CHANGES.HDFS-3042.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/CHANGES.HDFS-3042.txt?rev=1339435&r1=1339434&r2=1339435&view=diff ============================================================================== --- hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/CHANGES.HDFS-3042.txt (original) +++ hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/CHANGES.HDFS-3042.txt Thu May 17 00:38:59 2012 @@ -25,3 +25,5 @@ HADOOP-8306. ZKFC: improve error message HADOOP-8279. Allow manual failover to be invoked when auto-failover is enabled. (todd) HADOOP-8276. Auto-HA: add config for java options to pass to zkfc daemon (todd via eli) + +HADOOP-8405. ZKFC tests leak ZK instances. (todd) Modified: hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java?rev=1339435&r1=1339434&r2=1339435&view=diff ============================================================================== --- hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java (original) +++ hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ActiveStandbyElector.java Thu May 17 00:38:59 2012 @@ -717,11 +717,20 @@ public class ActiveStandbyElector implem } private void createConnection() throws IOException { + if (zkClient != null) { + try { + zkClient.close(); + } catch (InterruptedException e) { + throw new IOException("Interrupted while closing ZK", + e); + } + zkClient = null; + } zkClient = getNewZooKeeper(); LOG.debug("Created new connection for " + this); } - private void terminateConnection() { + void terminateConnection() { if (zkClient == null) { return; } Modified: hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ZKFailoverController.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ZKFailoverController.java?rev=1339435&r1=1339434&r2=1339435&view=diff ============================================================================== --- hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ZKFailoverController.java (original) +++ hadoop/common/branches/HDFS-3042/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ZKFailoverController.java Thu May 17 00:38:59 2012 @@ -163,6 +163,10 @@ public abstract class ZKFailoverControll return doRun(args); } catch (Exception t) { throw new RuntimeException(t); + } finally { + if (elector != null) { + elector.terminateConnection(); + } } } });