[ https://issues.apache.org/jira/browse/HADOOP-1242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498425 ]
Owen O'Malley commented on HADOOP-1242: --------------------------------------- I don't think this addresses the problem adequately. I think that you need to create the "corrupt" storage file in all cases, not just upgrade. Otherwise there are too many cases where the user can still hose their cluster. The cases are: 1. a dfs cluster created by 13 2. a dfs cluster updated before this patch goes in In either case, if the user runs 12 on the cluster, they will need to manually fix their cluster. It would be both easy and safe to _always_ create the corrupt storage if it does not exist. > dfs upgrade/downgrade problems > ------------------------------ > > Key: HADOOP-1242 > URL: https://issues.apache.org/jira/browse/HADOOP-1242 > Project: Hadoop > Issue Type: Bug > Components: dfs > Affects Versions: 0.13.0 > Reporter: Owen O'Malley > Assigned To: Konstantin Shvachko > Priority: Blocker > Fix For: 0.13.0 > > Attachments: clean-upgrade.patch, failPreUpgradeVersion.patch, > failPreUpgradeVersion2.patch > > > I ran my test cluster on 0.13 and then tried to run it under 0.12. When I > downgraded, the namenode would not come up and the message said I needed to > format the filesystem. I ignored that and tried to restart on 0.13, now the > datanode will not come up with: > 2007-04-10 11:25:37,448 ERROR org.apache.hadoop.dfs.DataNode: > org.apache.hadoop. > dfs.InconsistentFSStateException: Directory /local/owen/hadoop/dfs/d > ata is in an inconsistent state: Old layout block directory > /local/owen/hadoop/dfs/data/data is missing > at > org.apache.hadoop.dfs.DataStorage.isConversionNeeded(DataStorage.java > :170) > at > org.apache.hadoop.dfs.Storage$StorageDirectory.analyzeStorage(Storage > .java:264) > at > org.apache.hadoop.dfs.DataStorage.recoverTransitionRead(DataStorage.j > ava:83) > at org.apache.hadoop.dfs.DataNode.startDataNode(DataNode.java:230) > at org.apache.hadoop.dfs.DataNode.<init>(DataNode.java:199) > at org.apache.hadoop.dfs.DataNode.makeInstance(DataNode.java:1175) > at org.apache.hadoop.dfs.DataNode.run(DataNode.java:1119) > at org.apache.hadoop.dfs.DataNode.createDataNode(DataNode.java:1140) > at org.apache.hadoop.dfs.DataNode.main(DataNode.java:1299) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.