[ https://issues.apache.org/jira/browse/HDFS-6038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921881#comment-13921881 ]
Tsz Wo Nicholas Sze commented on HDFS-6038: ------------------------------------------- - It may be easier to implement DataOutputBuffer.writeInt(..) if we add Buffer.setCount(..), i.e. get old count, set new count, writeInt and then update count. - FSEditLogOp.scanOp(), it should use in.skip(..) instead of readFully(..). - EditLogInputStream.scanNextOp() could have a default implementation -- it just call readOp and return txid or throw UnsupportedOperationException. Only EditLogFileInputStream override it and the other subclasses don't. > JournalNode hardcodes NameNodeLayoutVersion in the edit log file > ---------------------------------------------------------------- > > Key: HDFS-6038 > URL: https://issues.apache.org/jira/browse/HDFS-6038 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: datanode, ha, hdfs-client, namenode > Reporter: Haohui Mai > Assignee: Jing Zhao > Attachments: HDFS-6038.000.patch, HDFS-6038.001.patch, > HDFS-6038.002.patch, HDFS-6038.003.patch, editsStored > > > In HA setup, the JNs receive edit logs (blob) from the NN and write into edit > log files. In order to write well-formed edit log files, the JNs prepend a > header for each edit log file. > The problem is that the JN hard-codes the version (i.e., > {{NameNodeLayoutVersion}} in the edit log, therefore it generates incorrect > edit logs when the newer release bumps the {{NameNodeLayoutVersion}} during > rolling upgrade. -- This message was sent by Atlassian JIRA (v6.2#6252)