You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by br...@apache.org on 2008/02/13 21:31:19 UTC
svn commit: r627585 - in /hadoop/hbase/trunk: CHANGES.txt
src/java/org/apache/hadoop/hbase/HConnectionManager.java
Author: bryanduxbury
Date: Wed Feb 13 12:31:17 2008
New Revision: 627585
URL: http://svn.apache.org/viewvc?rev=627585&view=rev
Log:
HBASE-444 hbase is very slow at determining table is not present
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HConnectionManager.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=627585&r1=627584&r2=627585&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Wed Feb 13 12:31:17 2008
@@ -50,7 +50,8 @@
collected
HBASE-407 Keep HRegionLocation information in LRU structure
(Bryan Duxbury)
-
+ HBASE-444 hbase is very slow at determining table is not present
+ (Bryan Duxbury)
Branch 0.1
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HConnectionManager.java?rev=627585&r1=627584&r2=627585&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HConnectionManager.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HConnectionManager.java Wed Feb 13 12:31:17 2008
@@ -421,17 +421,17 @@
HRegionInfo regionInfo = (HRegionInfo) Writables.getWritable(
results.get(COL_REGIONINFO), new HRegionInfo());
- if (regionInfo.isOffline()) {
- throw new IllegalStateException("region offline: " +
- regionInfo.getRegionName());
- }
-
// possible we got a region of a different table...
if (!regionInfo.getTableDesc().getName().equals(tableName)) {
throw new TableNotFoundException(
"Table '" + tableName + "' was not found.");
}
+ if (regionInfo.isOffline()) {
+ throw new IllegalStateException("region offline: " +
+ regionInfo.getRegionName());
+ }
+
String serverAddress =
Writables.bytesToString(results.get(COL_SERVER));
@@ -457,6 +457,11 @@
} else {
throw e;
}
+ } catch (TableNotFoundException e) {
+ // if we got this error, probably means the table just plain doesn't
+ // exist. rethrow the error immediately. this should always be coming
+ // from the HTable constructor.
+ throw e;
} catch (IOException e) {
if (e instanceof RemoteException) {
e = RemoteExceptionHandler.decodeRemoteException(