[ https://issues.apache.org/jira/browse/HDFS-6137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fengdong Yu updated HDFS-6137: ------------------------------ Description: upgrade from hadoop-2.0.5-alpha(QJM HA enabled) to the lastest trunk(HA disabled), which is successful. then stop the cluster, and rollback, then it throw exception: {code} 2014-03-21 18:33:19,384 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool BP-1123524590-10.204.8.135-1395397158134 (storage id DS-1123524590-10.204.8.135-50010-1395397185148) service to 10-204-8-135/10.204.8.135:9000 org.apache.hadoop.hdfs.server.common.IncorrectVersionException: Unexpected version of storage directory /data/hdfs/data/current/BP-1123524590-10.204.8.135-1395397158134. Reported: -55. Expecting = -40. at org.apache.hadoop.hdfs.server.common.Storage.setLayoutVersion(Storage.java:1083) at org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.setFieldsFromProperties(BlockPoolSliceStorage.java:217) at org.apache.hadoop.hdfs.server.common.Storage.readProperties(Storage.java:922) at org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.doTransition(BlockPoolSliceStorage.java:244) at org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.recoverTransitionRead(BlockPoolSliceStorage.java:145) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:234) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:913) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:884) at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664) at java.lang.Thread.run(Thread.java:744) {code} I looked at the datanode dir, $datanode.dir/VERSION is always new, when we upgrade, this file was overwrited, so it MUST fail during rollback. was: upgrade from hadoop-2.0.5-alpha(HA enabled) to the lastest trunk(HA disabled), which is successful. then stop the cluster, and rollback, then it throw exception: {code} 2014-03-21 18:33:19,384 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool BP-1123524590-10.204.8.135-1395397158134 (storage id DS-1123524590-10.204.8.135-50010-1395397185148) service to 10-204-8-135/10.204.8.135:9000 org.apache.hadoop.hdfs.server.common.IncorrectVersionException: Unexpected version of storage directory /data/hdfs/data/current/BP-1123524590-10.204.8.135-1395397158134. Reported: -55. Expecting = -40. at org.apache.hadoop.hdfs.server.common.Storage.setLayoutVersion(Storage.java:1083) at org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.setFieldsFromProperties(BlockPoolSliceStorage.java:217) at org.apache.hadoop.hdfs.server.common.Storage.readProperties(Storage.java:922) at org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.doTransition(BlockPoolSliceStorage.java:244) at org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.recoverTransitionRead(BlockPoolSliceStorage.java:145) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:234) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:913) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:884) at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664) at java.lang.Thread.run(Thread.java:744) {code} I looked at the datanode dir, $datanode.dir/VERSION is always new, when we upgrade, this file was overwrited, so it MUST fail during rollback. > Datanode cannot rollback because LayoutVersion incorrect > -------------------------------------------------------- > > Key: HDFS-6137 > URL: https://issues.apache.org/jira/browse/HDFS-6137 > Project: Hadoop HDFS > Issue Type: Bug > Components: datanode > Affects Versions: 2.4.0 > Reporter: Fengdong Yu > > upgrade from hadoop-2.0.5-alpha(QJM HA enabled) to the lastest trunk(HA > disabled), which is successful. then stop the cluster, and rollback, then it > throw exception: > {code} > 2014-03-21 18:33:19,384 FATAL > org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for > block pool Block pool BP-1123524590-10.204.8.135-1395397158134 (storage id > DS-1123524590-10.204.8.135-50010-1395397185148) service to > 10-204-8-135/10.204.8.135:9000 > org.apache.hadoop.hdfs.server.common.IncorrectVersionException: Unexpected > version of storage directory > /data/hdfs/data/current/BP-1123524590-10.204.8.135-1395397158134. Reported: > -55. Expecting = -40. > at > org.apache.hadoop.hdfs.server.common.Storage.setLayoutVersion(Storage.java:1083) > at > org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.setFieldsFromProperties(BlockPoolSliceStorage.java:217) > at > org.apache.hadoop.hdfs.server.common.Storage.readProperties(Storage.java:922) > at > org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.doTransition(BlockPoolSliceStorage.java:244) > at > org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceStorage.recoverTransitionRead(BlockPoolSliceStorage.java:145) > at > org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:234) > at > org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:913) > at > org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:884) > at > org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280) > at > org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222) > at > org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664) > at java.lang.Thread.run(Thread.java:744) > {code} > > I looked at the datanode dir, $datanode.dir/VERSION is always new, when we > upgrade, this file was overwrited, so it MUST fail during rollback. -- This message was sent by Atlassian JIRA (v6.2#6252)