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/07/06 22:43:47 UTC

svn commit: r1143557 - in /hbase/trunk: ./ src/main/java/org/apache/hadoop/hbase/ src/main/java/org/apache/hadoop/hbase/util/ src/main/java/org/apache/hadoop/hbase/zookeeper/

Author: tedyu
Date: Wed Jul  6 20:43:47 2011
New Revision: 1143557

URL: http://svn.apache.org/viewvc?rev=1143557&view=rev
Log:
HBASE-4061  getTableDirs is missing directories to skip

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/HConstants.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java

Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1143557&r1=1143556&r2=1143557&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Wed Jul  6 20:43:47 2011
@@ -151,6 +151,7 @@ Release 0.91.0 - Unreleased
    HBASE-3904  HBA.createTable(final HTableDescriptor desc, byte [][] splitKeys)
                should be synchronous
    HBASE-4053  Most of the regions were added into AssignmentManager#servers twice
+   HBASE-4061  getTableDirs is missing directories to skip
 
   IMPROVEMENTS
    HBASE-3290  Max Compaction Size (Nicolas Spiegelberg via Stack)  

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/HConstants.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/HConstants.java?rev=1143557&r1=1143556&r2=1143557&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/HConstants.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/HConstants.java Wed Jul  6 20:43:47 2011
@@ -169,6 +169,11 @@ public final class HConstants {
    * Use '.' as a special character to seperate the log files from table data */
   public static final String HREGION_LOGDIR_NAME = ".logs";
 
+  /** Used to construct the name of the splitlog directory for a region server */
+  public static final String SPLIT_LOGDIR_NAME = "splitlog";
+
+  public static final String CORRUPT_DIR_NAME = ".corrupt";
+
   /** Like the previous, but for old logs that are about to be deleted */
   public static final String HREGION_OLDLOGDIR_NAME = ".oldlogs";
 
@@ -487,8 +492,9 @@ public final class HConstants {
   public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;
 
   public static final List<String> HBASE_NON_USER_TABLE_DIRS = new ArrayList<String>(
-      Arrays.asList(new String[]{".logs", ".oldlogs",
-          ".corrupt", ".META.", "-ROOT-"}));
+      Arrays.asList(new String[]{ HREGION_LOGDIR_NAME, HREGION_OLDLOGDIR_NAME,
+          CORRUPT_DIR_NAME, Bytes.toString(META_TABLE_NAME),
+          Bytes.toString(ROOT_TABLE_NAME), SPLIT_LOGDIR_NAME }));
 
   private HConstants() {
     // Can't be instantiated with this ctor.

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java?rev=1143557&r1=1143556&r2=1143557&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java Wed Jul  6 20:43:47 2011
@@ -710,13 +710,17 @@ public class FSUtils {
     }
 
     public boolean accept(Path p) {
-      boolean isdir = false;
+      boolean isValid = false;
       try {
-        isdir = this.fs.getFileStatus(p).isDir();
+        if (HConstants.HBASE_NON_USER_TABLE_DIRS.contains(p)) {
+          isValid = false;
+        } else {
+            isValid = this.fs.getFileStatus(p).isDir();
+        }
       } catch (IOException e) {
         e.printStackTrace();
       }
-      return isdir;
+      return isValid;
     }
   }
 

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.java?rev=1143557&r1=1143556&r2=1143557&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.java Wed Jul  6 20:43:47 2011
@@ -33,6 +33,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.master.SplitLogManager;
 import org.apache.hadoop.hbase.regionserver.SplitLogWorker;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -151,7 +152,7 @@ public class ZKSplitLog {
   }
 
   public static Path getSplitLogDir(Path rootdir, String tmpname) {
-    return new Path(new Path(rootdir, "splitlog"), tmpname);
+    return new Path(new Path(rootdir, HConstants.SPLIT_LOGDIR_NAME), tmpname);
   }
 
   public static Path stripSplitLogTempDir(Path rootdir, Path file) {

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java?rev=1143557&r1=1143556&r2=1143557&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java Wed Jul  6 20:43:47 2011
@@ -211,7 +211,7 @@ public class ZooKeeperWatcher implements
     clusterIdZNode = ZKUtil.joinZNode(baseZNode,
         conf.get("zookeeper.znode.clusterId", "hbaseid"));
     splitLogZNode = ZKUtil.joinZNode(baseZNode,
-        conf.get("zookeeper.znode.splitlog", "splitlog"));
+        conf.get("zookeeper.znode.splitlog", HConstants.SPLIT_LOGDIR_NAME));
   }
 
   /**