You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2011/08/31 19:50:33 UTC
svn commit: r1163719 - in /hbase/trunk: CHANGES.txt
src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
Author: tedyu
Date: Wed Aug 31 17:50:33 2011
New Revision: 1163719
URL: http://svn.apache.org/viewvc?rev=1163719&view=rev
Log:
HBASE-4283 HBaseAdmin never recovers from restarted cluster (Lars Hofhansl)
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1163719&r1=1163718&r2=1163719&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Wed Aug 31 17:50:33 2011
@@ -229,6 +229,7 @@ Release 0.91.0 - Unreleased
HBASE-4303 HRegionInfo.toString has bad quoting (todd)
HBASE-4307 race condition in CacheTestUtils (Li Pi)
HBASE-4310 SlabCache metrics bugfix (Li Pi)
+ HBASE-4283 HBaseAdmin never recovers from restarted cluster (Lars Hofhansl)
IMPROVEMENTS
HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack)
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java?rev=1163719&r1=1163718&r2=1163719&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java Wed Aug 31 17:50:33 2011
@@ -104,6 +104,9 @@ public class HBaseAdmin implements Abort
try {
this.connection.getMaster();
break;
+ } catch (MasterNotRunningException mnre) {
+ HConnectionManager.deleteStaleConnection(this.connection);
+ this.connection = HConnectionManager.getConnection(this.conf);
} catch (UndeclaredThrowableException ute) {
HConnectionManager.deleteStaleConnection(this.connection);
this.connection = HConnectionManager.getConnection(this.conf);
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java?rev=1163719&r1=1163718&r2=1163719&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/PoolMap.java Wed Aug 31 17:50:33 2011
@@ -93,7 +93,14 @@ public class PoolMap<K, V> implements Ma
public boolean remove(K key, V value) {
Pool<V> pool = pools.get(key);
- return pool != null ? pool.remove(value) : false;
+ boolean res = false;
+ if (pool != null) {
+ res = pool.remove(value);
+ if (res && pool.size() == 0) {
+ pools.remove(key);
+ }
+ }
+ return res;
}
@Override