[ 
https://issues.apache.org/jira/browse/HBASE-11726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14114889#comment-14114889
 ] 

Esteban Gutierrez commented on HBASE-11726:
-------------------------------------------

To make this more evident:

{code}
# HBase 0.94 
$ od -c /tmp/hbase/hbase.version
0000000  \0 001   7
# Upgrade to any release post HBASE-5453:
$ hbase master start
2014-08-28 22:12:42,145 FATAL [ActiveMasterManager] master.HMaster: Failed to 
become active master
org.apache.hadoop.hbase.util.FileSystemVersionException: HBase file layout 
needs to be upgraded.  You have version 7 and I want version 8.  Is your 
hbase.rootdir valid?  If so, you may need to run 'hbase hbck -fixVersionFile'.
        at org.apache.hadoop.hbase.util.FSUtils.checkVersion(FSUtils.java:597)
        at 
org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:433)
        at 
org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:148)
        at 
org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:124)
        at 
org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:476)
        at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:154)
        at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1231)
        at java.lang.Thread.run(Thread.java:724)
# HBase fails as expected, however hbase.version was modified by the master
$ od -c /tmp/hbase/hbase.version
0000000   P   B   U   F  \n 001   7
{code}



> Master should fail-safe if starting with a pre 0.96 layout
> ----------------------------------------------------------
>
>                 Key: HBASE-11726
>                 URL: https://issues.apache.org/jira/browse/HBASE-11726
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.96.2, 0.99.0, 0.98.5
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>            Priority: Critical
>
> We recently saw this: If user inadvertently starts the HBase Master after 
> deploying new HBase binaries (any version that supports namespaces), the 
> HMaster will start the migration to PBs the the {{hbase.version}} file per 
> HBASE-5453 and that will write a new version file PB-serialized but with the 
> old version number. Further restarts of the master will fail because the 
> hbase version file has been migrated to PBs and there will be version 
> mismatch. The right approach should be to fail safe the master if we find an 
> old {{hbase.version}} file in order to force user to run upgrade tool.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to