[
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)