[
https://issues.apache.org/jira/browse/HDFS-1111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12894214#action_12894214
]
Konstantin Shvachko commented on HDFS-1111:
-------------------------------------------
I see there is a reference to my participation in HDFS-729, so there is nobody
to blame but myself.
I think the lesson with list directories taught us some things. And it has the
same issue: we do not guarantee that we list all directory entries as a single
snapshot, because there could be too many of them. We only guarantee to return
the current consequent list of N entries following the specified name. The rest
may have changed by the time the list of N is displayed.
With Sriram's approach we actually list blocks of corrupted files and provide
info about files they belong to. This is different from the previously
discussed approach.
- So I propose to rename the method and the respective fsck option to
{{listCorruptFileBlocks}} instead of {{listCorruptFile}}.
The paging in Sriram's proposal is done by blockId. Since the blocks in the
{{UnderReplicatedBlocks}} queues are ordered by blockId this will provide more
natural paging semantics than "skip K and return the next N" - one of the
variants considered before. Paging by blockId is in a sense the same as in list
dirs. Fsck guarantees to return a consequent list of N corrupt blocks greater
than the given id.
ClientProtocol changes. My point is that any new features included in the code
need to be supported, which is not free. And supporting a feature which is not
used by anybody is particularly inefficient and even frustrating, not that we
don't have any of such already.
RAID may be a good use case for this API, but I agree with Rodrigo it's a topic
of different discussion and we should take it out of this issue. I sure do not
have enough context, but may be RAID can query NN for corrupt blocks the same
way fsck does.
> getCorruptFiles() should give some hint that the list is not complete
> ---------------------------------------------------------------------
>
> Key: HDFS-1111
> URL: https://issues.apache.org/jira/browse/HDFS-1111
> Project: Hadoop HDFS
> Issue Type: New Feature
> Reporter: Rodrigo Schmidt
> Assignee: Rodrigo Schmidt
> Attachments: HADFS-1111.0.patch
>
>
> If the list of corruptfiles returned by the namenode doesn't say anything if
> the number of corrupted files is larger than the call output limit (which
> means the list is not complete). There should be a way to hint incompleteness
> to clients.
> A simple hack would be to add an extra entry to the array returned with the
> value null. Clients could interpret this as a sign that there are other
> corrupt files in the system.
> We should also do some rephrasing of the fsck output to make it more
> confident when the list is not complete and less confident when the list is
> known to be incomplete.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.