You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by nk...@apache.org on 2013/07/18 21:05:05 UTC

svn commit: r1504606 - in /hbase/trunk: hbase-client/src/main/java/org/apache/hadoop/hbase/client/ hbase-server/src/test/java/org/apache/hadoop/hbase/ hbase-server/src/test/java/org/apache/hadoop/hbase/replication/

Author: nkeywal
Date: Thu Jul 18 19:05:04 2013
New Revision: 1504606

URL: http://svn.apache.org/r1504606
Log:
HBASE-8983 HBaseConnection#deleteAllConnections does not always delete

Modified:
    hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java

Modified: hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1504606&r1=1504605&r2=1504606&view=diff
==============================================================================
--- hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Thu Jul 18 19:05:04 2013
@@ -318,19 +318,31 @@ public class HConnectionManager {
   }
 
   /**
-   * Delete information for all connections.
+   * Delete information for all connections. Close or not the connection, depending on the
+   *  staleConnection boolean and the ref count. By default, you should use it with
+   *  staleConnection to true.
    */
-  public static void deleteAllConnections() {
+  public static void deleteAllConnections(boolean staleConnection) {
     synchronized (CONNECTION_INSTANCES) {
       Set<HConnectionKey> connectionKeys = new HashSet<HConnectionKey>();
       connectionKeys.addAll(CONNECTION_INSTANCES.keySet());
       for (HConnectionKey connectionKey : connectionKeys) {
-        deleteConnection(connectionKey, false);
+        deleteConnection(connectionKey, staleConnection);
       }
       CONNECTION_INSTANCES.clear();
     }
   }
 
+  /**
+   * Delete information for all connections..
+   * @deprecated kept for backward compatibility, but the behavior is broken. HBASE-8983
+   */
+  @Deprecated
+  public static void deleteAllConnections() {
+    deleteAllConnections(false);
+  }
+
+
   private static void deleteConnection(HConnection connection, boolean staleConnection) {
     synchronized (CONNECTION_INSTANCES) {
       for (Entry<HConnectionKey, HConnectionImplementation> e: CONNECTION_INSTANCES.entrySet()) {

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java?rev=1504606&r1=1504605&r2=1504606&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java Thu Jul 18 19:05:04 2013
@@ -507,7 +507,7 @@ public class MiniHBaseCluster extends HB
     if (this.hbaseCluster != null) {
       this.hbaseCluster.shutdown();
     }
-    HConnectionManager.deleteAllConnections();
+    HConnectionManager.deleteAllConnections(true);
   }
 
   @Override

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java?rev=1504606&r1=1504605&r2=1504606&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java Thu Jul 18 19:05:04 2013
@@ -28,6 +28,8 @@ import org.apache.hadoop.hbase.util.Byte
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
+import java.util.Map;
+
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.fail;
 
@@ -49,7 +51,7 @@ public class TestReplicationDisableInact
 
     // enabling and shutdown the peer
     admin.enablePeer("2");
-    utility2.shutdownMiniHBaseCluster();
+    utility2.getHBaseCluster().getMaster().shutdown();
 
     byte[] rowkey = Bytes.toBytes("disable inactive peer");
     Put put = new Put(rowkey);