HBase
  1. HBase
  2. HBASE-4705

HBase won't initialize if /hbase is not present

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Later
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      2011-10-31 00:09:09,549 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
      java.io.FileNotFoundException: File does not exist: hdfs://C3S31:9000/hbase
              at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:731)
              at org.apache.hadoop.hbase.util.FSUtils.isInSafeMode(FSUtils.java:163)
              at org.apache.hadoop.hbase.util.FSUtils.waitOnSafeMode(FSUtils.java:458)
              at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:301)
              at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:127)
              at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:112)
              at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:426)
              at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:309)
              at java.lang.Thread.run(Thread.java:662)
      2011-10-31 00:09:09,551 INFO org.apache.hadoop.hbase.master.HMaster: Aborting
      2011-10-31 00:09:09,551 DEBUG org.apache.hadoop.hbase.master.HMaster: Stopping service threads
      

      Trunk won't start HBase unless /hbase is already present, after HBASE-4680 (and the silly error I made in HBASE-4510).

        Activity

        Hide
        Harsh J added a comment -

        Not a problem right now. Triggering patch was reverted.

        Show
        Harsh J added a comment - Not a problem right now. Triggering patch was reverted.
        Hide
        Harsh J added a comment -

        I apologize for missing the whole activity on HBASE-4680.

        I think a better fix would have been, instead of the HBASE-4680, to just catch other exceptions (which is something I missed despite commenting).

        This change is fine too, but has lead to HBASE-4705 scenarios. Could we revert HBASE-4680 and instead add a:

        catch (Safemode) {
         return true;
        } catch (Others) {
         ignore;
        }
        

        Kinda block, while still operating on the only dir guaranteed to exist (/ - root)? This is so cause safemode is always checked first on the server side before anything else is returned. The superuser check is not client side.

        Show
        Harsh J added a comment - I apologize for missing the whole activity on HBASE-4680 . I think a better fix would have been, instead of the HBASE-4680 , to just catch other exceptions (which is something I missed despite commenting). This change is fine too, but has lead to HBASE-4705 scenarios. Could we revert HBASE-4680 and instead add a: catch (Safemode) { return true ; } catch (Others) { ignore; } Kinda block, while still operating on the only dir guaranteed to exist (/ - root)? This is so cause safemode is always checked first on the server side before anything else is returned. The superuser check is not client side.

          People

          • Assignee:
            Unassigned
            Reporter:
            Harsh J
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development