Author: tedyu
Date: Fri Sep 16 18:57:05 2011
New Revision: 1171725

URL: http://svn.apache.org/viewvc?rev=1171725&view=rev
Log:
HBASE-4417  HBaseAdmin.checkHBaseAvailable() doesn't close ZooKeeper connections
               (Stefan Seelmann)

Modified:
    hbase/branches/0.90/CHANGES.txt
    
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
    
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java

Modified: hbase/branches/0.90/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1171725&r1=1171724&r2=1171725&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Fri Sep 16 18:57:05 2011
@@ -47,6 +47,8 @@ Release 0.90.5 - Unreleased
    HBASE-4395  EnableTableHandler races with itself
    HBASE-4322  [hbck] Update checkIntegrity/checkRegionChain to present more
                accurate region split problem summary (Jon Hsieh)
+   HBASE-4417  HBaseAdmin.checkHBaseAvailable() doesn't close ZooKeeper 
connections
+               (Stefan Seelmann)
 
   IMPROVEMENT
    HBASE-4205  Enhance HTable javadoc (Eric Charles)

Modified: 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java?rev=1171725&r1=1171724&r2=1171725&view=diff
==============================================================================
--- 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
 (original)
+++ 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
 Fri Sep 16 18:57:05 2011
@@ -1254,6 +1254,7 @@ public class HBaseAdmin implements Abort
   throws MasterNotRunningException, ZooKeeperConnectionException {
     Configuration copyOfConf = HBaseConfiguration.create(conf);
     copyOfConf.setInt("hbase.client.retries.number", 1);
-    new HBaseAdmin(copyOfConf);
+    HBaseAdmin admin = new HBaseAdmin(copyOfConf);
+    HConnectionManager.deleteConnection(admin.getConfiguration(), false);
   }
 }

Modified: 
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java?rev=1171725&r1=1171724&r2=1171725&view=diff
==============================================================================
--- 
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java 
(original)
+++ 
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java 
Fri Sep 16 18:57:05 2011
@@ -35,6 +35,7 @@ import java.util.concurrent.atomic.Atomi
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
@@ -829,4 +830,16 @@ public class TestAdmin {
       this.admin.deleteTable(tableName);
     }
   }
+  
+  /**
+   * HBASE-4417 HBA.checkHBaseAvailable() doesn't close ZooKeeper connections
+   */
+  @Test
+  public void testCheckHBaseAvailableClosesConnection() throws Exception {
+    Configuration conf = TEST_UTIL.getConfiguration();
+    for(int i=0; i<1000;i++) {
+        HBaseAdmin.checkHBaseAvailable(conf);
+    }
+  }
+  
 }


Reply via email to