[ https://issues.apache.org/jira/browse/HDFS-4397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553134#comment-13553134 ]
Jing Zhao commented on HDFS-4397: --------------------------------- Seems {noformat} + final Triple<Integer, INode, Integer> triple = modify(d, c); + if (deletedINodeProcesser != null) { + deletedINodeProcesser.process(triple.middle); } {noformat} should be {noformat} modify(d, c); if (deletedINodeProcesser != null) { deletedINodeProcesser.process(d); } {noformat} since we're removing the node that was originally stored in the deleted list of the postdiff. Besides, maybe it is better to move the definition of Processor interface from INode to INodeDirectoryWithSnapshot? > Combined diff may not be identical to the diffs applied sequentially > -------------------------------------------------------------------- > > Key: HDFS-4397 > URL: https://issues.apache.org/jira/browse/HDFS-4397 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Reporter: Tsz Wo (Nicholas), SZE > Assignee: Tsz Wo (Nicholas), SZE > Attachments: h4397_20120113.patch > > > Let diffs > {noformat} > d(1,k) = m_1 + m_2 + ... + m_k; > d(k+1,n) = m_{k+1} + m_{k+2} + ... + m_n; > {noformat} > and > {noformat} > d(1,n) = m_1 + m_2 + ... + m_n, > {noformat} > where m_j denote modifications. Then, we may have > {noformat} > d(1,k) + d(k+1,n) != d(1,n). > {noformat} -- 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