[ https://issues.apache.org/jira/browse/HDFS-2773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13183894#comment-13183894 ]
Todd Lipcon commented on HDFS-2773: ----------------------------------- I added the following: {code} + // OP_CLOSE should add finalized blocks. This code path + // is only executed when loading edits written by prior + // versions of Hadoop. Current versions always log + // OP_ADD operations as each block is allocated. + newBI = new BlockInfo(newBlock, file.getReplication()); {code} Will commit momentarily. > HA: reading edit logs from an earlier version leaves blocks in > under-construction state > --------------------------------------------------------------------------------------- > > Key: HDFS-2773 > URL: https://issues.apache.org/jira/browse/HDFS-2773 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: ha, name-node > Affects Versions: HA branch (HDFS-1623) > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Priority: Blocker > Attachments: hadoop-1.0-multiblock-file.tgz, hdfs-2773.txt > > > In HDFS-2602, the code for applying OP_ADD and OP_CLOSE was changed a bit, > and the new code has the following problem: if an OP_CLOSE includes new > blocks (ie not previously seen in an OP_ADD) then those blocks will remain in > the "under construction" state rather than being marked "complete". This is > because {{updateBlocks}} always creates {{BlockInfoUnderConstruction}} > regardless of the opcode. This bug only affects the upgrade path, since in > trunk we always persist blocks with OP_ADDs before we call OP_CLOSE. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira