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