[ https://issues.apache.org/jira/browse/HDFS-9231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14970046#comment-14970046 ]
Yongjun Zhang commented on HDFS-9231: ------------------------------------- Hi [~xiaochen], Thanks for reporting the issue and the patch. Good to have discussed in person. The patch looks good in general. I have some comments here: 1. The description is not quite accurate per our discussion, suggest to modify. Especially the patch actually does change (and fix) the behavior when without -includeSnapshots. 2. A possible optimization in FSDirSnapshotOp#getSnapshotFiles. It seems that the {{sf}} variable could be calculated in caller for once before the loop in the caller, and pass to this method. 3. {{final INodesInPath iip = fsd.getINodesInPath4Write(snap, false);}} maybe substituted with call to {{getINodesInPath}} 4. The check {{if (!corruptFileBlocks.isEmpty())}} in {{listCorruptFileBlocksWithSnapshot}} is not needed 5. Add comment in {{listCorruptFileBlocks()}} before the call {{namenode.getNamesystem().listCorruptFileBlocksWithSnapshot}}, to indicate that {{snapshottableDirs}} is only relevant when -includeSnapshots is specified. 6. In {{listCorruptFileBlocksWithSnapshot}}, we can add {code} if (snapshottableDirs == null) { continue; } {code} to avoid the call to {{getSnapshotFiles}}. Thanks. > fsck doesn't explicitly list when Bad Replicas/Blocks are in a snapshot > ----------------------------------------------------------------------- > > Key: HDFS-9231 > URL: https://issues.apache.org/jira/browse/HDFS-9231 > Project: Hadoop HDFS > Issue Type: Bug > Components: snapshots > Reporter: Xiao Chen > Assignee: Xiao Chen > Attachments: HDFS-9231.001.patch, HDFS-9231.002.patch, > HDFS-9231.003.patch, HDFS-9231.004.patch > > > For snapshot files, fsck shows corrupt blocks with the original file dir > instead of the snapshot dir. > This can be confusing since even when the original file is deleted, a new > fsck run will still show that file as corrupted although what's actually > corrupted is the snapshot. > This is true even when given the -includeSnapshots option. -- This message was sent by Atlassian JIRA (v6.3.4#6332)