[
https://issues.apache.org/jira/browse/HDFS-6647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14056517#comment-14056517
]
Colin Patrick McCabe commented on HDFS-6647:
--------------------------------------------
The simplest thing is probably just to have {{updatePipeline}} throw an
exception if the file doesn't exist (or exists only in snapshots).
bq. It shouldn't be difficult to change the FSEditLogLoader to be able to read
the OP_UPDATE_BLOCKS op if we just change it to look up the INode by block ID.
We could do that when recovery mode is on. I don't think we want to do that
normally since snapshotted blocks are not supposed to be mutable
> Edit log corruption when pipeline recovery occurs for deleted file present in
> snapshot
> --------------------------------------------------------------------------------------
>
> Key: HDFS-6647
> URL: https://issues.apache.org/jira/browse/HDFS-6647
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode, snapshots
> Affects Versions: 2.4.1
> Reporter: Aaron T. Myers
> Priority: Blocker
> Attachments: HDFS-6647-failing-test.patch
>
>
> I've encountered a situation wherein an OP_UPDATE_BLOCKS can appear in the
> edit log for a file after an OP_DELETE has previously been logged for that
> file. Such an edit log sequence cannot then be successfully read by the
> NameNode.
> More details in the first comment.
--
This message was sent by Atlassian JIRA
(v6.2#6252)