[ https://issues.apache.org/jira/browse/HDFS-6135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz Wo Nicholas Sze updated HDFS-6135: -------------------------------------- Component/s: journal-node Hadoop Flags: Reviewed +1 patch looks good. > In HDFS upgrade with HA setup, JournalNode cannot handle layout version bump > when rolling back > ---------------------------------------------------------------------------------------------- > > Key: HDFS-6135 > URL: https://issues.apache.org/jira/browse/HDFS-6135 > Project: Hadoop HDFS > Issue Type: Bug > Components: journal-node > Affects Versions: 3.0.0 > Reporter: Jing Zhao > Assignee: Jing Zhao > Priority: Blocker > Attachments: HDFS-6135.000.patch, HDFS-6135.001.patch, > HDFS-6135.002.patch, HDFS-6135.test.txt > > > While doing HDFS upgrade with HA setup, if the layoutversion gets changed in > the upgrade, the rollback may trigger the following exception in JournalNodes > (suppose the new software bumped the layoutversion from -55 to -56): > {code} > 14/03/21 01:01:53 FATAL namenode.NameNode: Exception in namenode join > org.apache.hadoop.hdfs.qjournal.client.QuorumException: Could not check if > roll back possible for one or more JournalNodes. 1 exceptions thrown: > Unexpected version of storage directory /grid/1/tmp/journal/mycluster. > Reported: -56. Expecting = -55. > at > org.apache.hadoop.hdfs.server.common.StorageInfo.setLayoutVersion(StorageInfo.java:203) > at > org.apache.hadoop.hdfs.server.common.StorageInfo.setFieldsFromProperties(StorageInfo.java:156) > at > org.apache.hadoop.hdfs.server.common.StorageInfo.readProperties(StorageInfo.java:135) > at > org.apache.hadoop.hdfs.qjournal.server.JNStorage.analyzeStorage(JNStorage.java:202) > at > org.apache.hadoop.hdfs.qjournal.server.JNStorage.<init>(JNStorage.java:73) > at > org.apache.hadoop.hdfs.qjournal.server.Journal.<init>(Journal.java:142) > at > org.apache.hadoop.hdfs.qjournal.server.JournalNode.getOrCreateJournal(JournalNode.java:87) > at > org.apache.hadoop.hdfs.qjournal.server.JournalNode.canRollBack(JournalNode.java:304) > at > org.apache.hadoop.hdfs.qjournal.server.JournalNodeRpcServer.canRollBack(JournalNodeRpcServer.java:228) > {code} > Looks like for rollback JN with old software cannot handle future > layoutversion brought by new software. -- This message was sent by Atlassian JIRA (v6.2#6252)