[ https://issues.apache.org/jira/browse/HDFS-1111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882741#action_12882741 ]
Konstantin Shvachko commented on HDFS-1111: ------------------------------------------- I was addressing the example you gave. > Wee ran fsck -list-corruptfiles /path/to/important/dir but it returned an > empty list. > The problem was that we filter the directory after we get the list reported > from the namenode and the list is limited. What do you print if the list is empty, but incomplete? Looks like it is going to be only the message {{ATTENTION: List of corrupted files returned from namenode was INCOMPLETE.}} and no list. I think this is confusing. And the only one way to get it done is to pass the directory path to {{getCorruptFiles("/path/to/important/dir")}}. I browsed through the issues dedicated to the -list-corruptfiles option for fsck. - First of all, I think it should have been done in one issue with a proper design of the new feature and all UI / API issues thought through in advance, rather than doing it gradually. I sure don't know whether it could have been done that way, but it seems more convenient to discuss everything in one place rather than jumping all over around. - Second of all, as a result of that (I believe) there was introduced an unnecessary {{ClientProtocol}} method: {{getCorruptFiles()}}, which is being modified here also unnecessary. {{ClientProtocol}} changes are not necessary because fsck is works over http rather than via rpc. {{NamenodeFsck}} - a part of {{FsckServlet}} calls name-node methods directly, rather than through rpc. Therefore, {{ClientProtocol}} has nothing to do with this. For example, {{getBlockLocationsNoATime()}} is not in {{ClientProtocol}}. The same should be with {{getCorruptFiles()}}. So I propose to remove {{getCorruptFiles()}} from {{ClientProtocol}} in this jira instead of modifying it... And then I won't argue about printout messages anymore... I believe you will still need HDFS-1265 to deal with your example correctly. > 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.