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