Author: apurtell
Date: Thu Mar 10 23:41:40 2011
New Revision: 1080398
URL: http://svn.apache.org/viewvc?rev=1080398&view=rev
Log:
HBASE-3612 HBaseAdmin::isTableAvailable returns true when the table does not
exit
Modified:
hbase/branches/0.90/CHANGES.txt
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
Modified: hbase/branches/0.90/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1080398&r1=1080397&r2=1080398&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Thu Mar 10 23:41:40 2011
@@ -21,7 +21,9 @@ Release 0.90.2 - February 9th, 2011
HBASE-3608 MemstoreFlusher error message doesnt include exception!
HBASE-1960 Master should wait for DFS to come up when creating
hbase.version; use alternate strategy for waiting for DNs
-
+ HBASE-3612 HBaseAdmin::isTableAvailable returns true when the table does
+ not exit
+
IMPROVEMENTS
HBASE-3542 MultiGet methods in Thrift
HBASE-3586 Improve the selection of regions to balance (Ted Yu via Andrew
Modified:
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1080398&r1=1080397&r2=1080398&view=diff
==============================================================================
---
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
(original)
+++
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
Thu Mar 10 23:41:40 2011
@@ -36,6 +36,7 @@ import java.util.concurrent.ExecutionExc
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -450,6 +451,7 @@ public class HConnectionManager {
public boolean isTableAvailable(final byte[] tableName) throws IOException
{
final AtomicBoolean available = new AtomicBoolean(true);
+ final AtomicInteger regionCount = new AtomicInteger(0);
MetaScannerVisitor visitor = new MetaScannerVisitor() {
@Override
public boolean processRow(Result row) throws IOException {
@@ -464,13 +466,14 @@ public class HConnectionManager {
available.set(false);
return false;
}
+ regionCount.incrementAndGet();
}
}
return true;
}
};
MetaScanner.metaScan(conf, visitor);
- return available.get();
+ return available.get() && (regionCount.get() > 0);
}
/*