You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ji...@apache.org on 2008/09/06 02:50:58 UTC
svn commit: r692596 - in /hadoop/hbase/trunk: ./
src/java/org/apache/hadoop/hbase/ src/java/org/apache/hadoop/hbase/client/
src/test/org/apache/hadoop/hbase/ src/test/org/apache/hadoop/hbase/util/
Author: jimk
Date: Fri Sep 5 17:50:58 2008
New Revision: 692596
URL: http://svn.apache.org/viewvc?rev=692596&view=rev
Log:
HBASE-874 deleting a table kills client rpc; no subsequent communication if shell or thrift server, etc. (Jonathan Gray via Jim Kellerman)
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HMerge.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HConnectionManager.java
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/HBaseClusterTestCase.java
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/DisabledTestMetaUtils.java
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/TestMigrate.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Fri Sep 5 17:50:58 2008
@@ -76,6 +76,8 @@
HRegionServer (Jean-Daniel Cryans via Jim Kellerman)
HBASE-840 More options on the row query in REST interface
(Sishen Freecity via Stack)
+ HBASE-874 deleting a table kills client rpc; no subsequent communication if
+ shell or thrift server, etc. (Jonathan Gray via Jim Kellerman)
NEW FEATURES
HBASE-787 Postgresql to HBase table replication example (Tim Sell via Stack)
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HMerge.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HMerge.java?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HMerge.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HMerge.java Fri Sep 5 17:50:58 2008
@@ -76,7 +76,7 @@
throws IOException {
HConnection connection = HConnectionManager.getConnection(conf);
boolean masterIsRunning = connection.isMasterRunning();
- HConnectionManager.deleteConnectionInfo(conf);
+ HConnectionManager.deleteConnectionInfo(conf, false);
if (Bytes.equals(tableName, META_TABLE_NAME)) {
if (masterIsRunning) {
throw new IllegalStateException(
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java Fri Sep 5 17:50:58 2008
@@ -267,7 +267,7 @@
}
}
// Delete cached information to prevent clients from using old locations
- HConnectionManager.deleteConnectionInfo(conf);
+ HConnectionManager.deleteConnectionInfo(conf, false);
LOG.info("Deleted " + Bytes.toString(tableName));
}
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HConnectionManager.java Fri Sep 5 17:50:58 2008
@@ -95,29 +95,18 @@
/**
* Delete connection information for the instance specified by the configuration
* @param conf
+ * @param stopProxy
*/
- public static void deleteConnectionInfo(HBaseConfiguration conf) {
+ public static void deleteConnectionInfo(HBaseConfiguration conf,
+ boolean stopProxy) {
synchronized (HBASE_INSTANCES) {
TableServers t = HBASE_INSTANCES.remove(conf.get(HBASE_DIR));
if (t != null) {
- t.close();
+ t.close(stopProxy);
}
}
}
- /**
- * Clear the static map of connection info.
- */
- public static void deleteConnectionInfo() {
- synchronized (HBASE_INSTANCES) {
- for (TableServers t: HBASE_INSTANCES.values()) {
- t.close();
- }
- HBASE_INSTANCES.clear();
- }
- }
-
-
/* Encapsulates finding the servers for an HBase instance */
private static class TableServers implements HConnection, HConstants {
private static final Log LOG = LogFactory.getLog(TableServers.class);
@@ -894,15 +883,19 @@
return null;
}
- void close() {
+ void close(boolean stopProxy) {
if (master != null) {
- HbaseRPC.stopProxy(master);
+ if (stopProxy) {
+ HbaseRPC.stopProxy(master);
+ }
master = null;
masterChecked = false;
}
- synchronized (servers) {
- for (HRegionInterface i: servers.values()) {
- HbaseRPC.stopProxy(i);
+ if (stopProxy) {
+ synchronized (servers) {
+ for (HRegionInterface i: servers.values()) {
+ HbaseRPC.stopProxy(i);
+ }
}
}
}
Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/HBaseClusterTestCase.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/HBaseClusterTestCase.java?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/HBaseClusterTestCase.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/HBaseClusterTestCase.java Fri Sep 5 17:50:58 2008
@@ -145,7 +145,7 @@
protected void tearDown() throws Exception {
super.tearDown();
try {
- HConnectionManager.deleteConnectionInfo(conf);
+ HConnectionManager.deleteConnectionInfo(conf, true);
if (this.cluster != null) {
try {
this.cluster.shutdown();
Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/DisabledTestMetaUtils.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/DisabledTestMetaUtils.java?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/DisabledTestMetaUtils.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/DisabledTestMetaUtils.java Fri Sep 5 17:50:58 2008
@@ -50,7 +50,7 @@
utils.deleteColumn(editTable, Bytes.toBytes(oldColumn));
utils.shutdown();
// Delete again so we go get it all fresh.
- HConnectionManager.deleteConnectionInfo();
+ HConnectionManager.deleteConnectionInfo(conf, false);
// Now assert columns were added and deleted.
this.cluster = new MiniHBaseCluster(this.conf, 1);
// Now assert columns were added and deleted.
Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/TestMigrate.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/TestMigrate.java?rev=692596&r1=692595&r2=692596&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/TestMigrate.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/TestMigrate.java Fri Sep 5 17:50:58 2008
@@ -134,7 +134,7 @@
// Delete any cached connections. Need to do this because connection was
// created earlier when no master was around. The fact that there was no
// master gets cached. Need to delete so we go get master afresh.
- HConnectionManager.deleteConnectionInfo();
+ HConnectionManager.deleteConnectionInfo(conf, false);
LOG.info("Start a cluster against migrated FS");
// Up number of retries. Needed while cluster starts up. Its been set to 1
@@ -159,7 +159,7 @@
"changes before opening a scanner");
waitOnStartCodeChange(retries);
// Delete again so we go get it all fresh.
- HConnectionManager.deleteConnectionInfo();
+ HConnectionManager.deleteConnectionInfo(conf, false);
HTable t = new HTable(this.conf, TABLENAME);
int count = 0;
LOG.info("OPENING SCANNER");
@@ -179,7 +179,7 @@
s.close();
}
} finally {
- HConnectionManager.deleteConnectionInfo();
+ HConnectionManager.deleteConnectionInfo(conf, false);
cluster.shutdown();
}
}