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

Arpit Agarwal commented on HDFS-4967:
-------------------------------------

Hi Fengdong,

This doesn't look like a good way to force the upgrade. By overriding the image 
version the namenode will attempt to read fields that do not exist in the image 
and it will corrupt the namenode state. Even if you don't hit an assertion 
right away your namenode state is unpredictable.

The repro steps you specified earlier look mostly correct. Step 3 should not be 
necessary. You can run the upgrade step offline on a pseudo cluster without 
changing your production configurations.
                
> Generate block ID sequentially cannot work with QJM HA
> ------------------------------------------------------
>
>                 Key: HDFS-4967
>                 URL: https://issues.apache.org/jira/browse/HDFS-4967
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: ha, hdfs-client, namenode
>    Affects Versions: 3.0.0
>            Reporter: Fengdong Yu
>            Assignee: Arpit Agarwal
>
> There are two name nodes, one is active, another acts as standby name node. 
> QJM Ha  configured.
> After HDFS-4645 committed in the trunk, then the following error showed 
> during name node start:
> {code}
> 2013-07-09 11:28:45,394 FATAL 
> org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
> java.lang.IllegalStateException: Cannot skip to less than the current value 
> (=1073741824), where newValue=0
>         at 
> org.apache.hadoop.util.SequentialNumber.skipTo(SequentialNumber.java:58)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setLastAllocatedBlockId(FSNamesystem.java:5124)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImageFormat$Loader.load(FSImageFormat.java:278)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:809)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:798)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:653)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:623)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:260)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:719)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:552)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:401)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:435)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:607)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:592)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1172)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1238)
> 2013-07-09 11:28:45,397 INFO org.apache.hadoop.util.ExitUtil: Exiting with 
> status 1
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to