Author: apurtell
Date: Wed Dec 30 00:48:29 2009
New Revision: 894524

URL: http://svn.apache.org/viewvc?rev=894524&view=rev
Log:
HBASE-2075 Master requires HDFS superuser privileges due to waitOnSafeMode

Modified:
    hadoop/hbase/branches/0.20/CHANGES.txt
    
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/FSUtils.java

Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=894524&r1=894523&r2=894524&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Wed Dec 30 00:48:29 2009
@@ -29,6 +29,7 @@
    HBASE-2065  Cannot disable a table if any of its region is opening 
                at the same time
    HBASE-2026  NPE in StoreScanner on compaction
+   HBASE-2075  Master requires HDFS superuser privileges due to waitOnSafeMode
 
   IMPROVEMENTS
    HBASE-1961  HBase EC2 scripts

Modified: 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/FSUtils.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/FSUtils.java?rev=894524&r1=894523&r2=894524&view=diff
==============================================================================
--- 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/FSUtils.java 
(original)
+++ 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/FSUtils.java 
Wed Dec 30 00:48:29 2009
@@ -143,13 +143,18 @@
     // Are there any data nodes up yet?
     // Currently the safe mode check falls through if the namenode is up but no
     // datanodes have reported in yet.
-    while (dfs.getDataNodeStats().length == 0) {
-      LOG.info("Waiting for dfs to come up...");
-      try {
-        Thread.sleep(wait);
-      } catch (InterruptedException e) {
-        //continue
+    try {
+      while (dfs.getDataNodeStats().length == 0) {
+        LOG.info("Waiting for dfs to come up...");
+        try {
+          Thread.sleep(wait);
+        } catch (InterruptedException e) {
+          //continue
+        }
       }
+    } catch (IOException e) {
+      // getDataNodeStats can fail if superuser privilege is required to run
+      // the datanode report, just ignore it
     }
     // Make sure dfs is not in safe mode
     while (dfs.setSafeMode(FSConstants.SafeModeAction.SAFEMODE_GET)) {


Reply via email to