You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2011/03/11 00:41:40 UTC

svn commit: r1080398 - in /hbase/branches/0.90: CHANGES.txt src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

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);
     }
 
     /*