HBase
  1. HBase
  2. HBASE-79

[hbase] When HBase needs to be migrated, it should display a message on stdout, not just in the logs

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.1.0, 0.2.0
    • Fix Version/s: 0.1.0, 0.2.0
    • Component/s: util
    • Labels:
      None

      Description

      When you upgrade your HBase code version, there is occasionally the need to migrate the underlying data store to a new version. However, if you are unaware of this need, then you'll be very confused by what happens when you restart HBase. Using start-hbase.sh, you get messages indicating that the master and regionservers started as expected. However, in reality, it will have tried to start and failed due to a version mismatch. This information is displayed in the logs, but you won't know that until you go log diving.

      Instead, let's have the start-hbase.sh script do a check to see if the version number is wrong itself. That way, if it fails, it can write messages about startup failure to the console instead of to the logs. This will make new admins much happier.

      1. 79.patch
        0.9 kB
        stack

        Activity

        Hide
        Jim Kellerman added a comment -

        Backported same patch from trunk to 0.1.0. Committed.

        Show
        Jim Kellerman added a comment - Backported same patch from trunk to 0.1.0. Committed.
        Hide
        stack added a comment -

        Lets backport to 0.1.0 release.

        Show
        stack added a comment - Lets backport to 0.1.0 release.
        Hide
        stack added a comment -

        Committed w/ Bryan's better wording.

        Show
        stack added a comment - Committed w/ Bryan's better wording.
        Hide
        Bryan Duxbury added a comment -

        Patch looks good, maybe change the message though? That message seems to indicate I have to upgrade HDFS.

        How about "The HBase data files stored in HDFS are from an earlier version of HBase. You need to run 'bin/hbase migrate' to bring your installation up-to-date." ?

        Show
        Bryan Duxbury added a comment - Patch looks good, maybe change the message though? That message seems to indicate I have to upgrade HDFS. How about "The HBase data files stored in HDFS are from an earlier version of HBase. You need to run 'bin/hbase migrate' to bring your installation up-to-date." ?
        Hide
        stack added a comment -

        Patch that outputs this when you try to start a master on a system that needs migration:

        durruti:~/Documents/checkouts/hbase/trunk stack$ ./bin/start-hbase.sh 
        starting master, logging to /Users/stack/Documents/checkouts/hbase/trunk/bin/../logs/hbase-stack-master-durruti.desk.hq.powerset.com.out
        WARNING! File system needs upgrade. Run the '${HBASE_HOME}/bin/hbase migrate' script. Master shutting down...
        
        Show
        stack added a comment - Patch that outputs this when you try to start a master on a system that needs migration: durruti:~/Documents/checkouts/hbase/trunk stack$ ./bin/start-hbase.sh starting master, logging to /Users/stack/Documents/checkouts/hbase/trunk/bin/../logs/hbase-stack-master-durruti.desk.hq.powerset.com.out WARNING! File system needs upgrade. Run the '${HBASE_HOME}/bin/hbase migrate' script. Master shutting down...
        Hide
        stack added a comment -

        This might not be that hard to do. I've just been messing in scripts. I noticed that it does a 'head hbase-master*out' after startup before exiting. If the migration message was put on STDOUT/ERR, rather than logged (or put in both places), I think that should be all thats needed to make this work.

        Show
        stack added a comment - This might not be that hard to do. I've just been messing in scripts. I noticed that it does a 'head hbase-master*out' after startup before exiting. If the migration message was put on STDOUT/ERR, rather than logged (or put in both places), I think that should be all thats needed to make this work.

          People

          • Assignee:
            Jim Kellerman
            Reporter:
            Bryan Duxbury
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development