ZanderXu commented on PR #5583: URL: https://github.com/apache/hadoop/pull/5583#issuecomment-1537101605
Modify some logic of `markBlockAsCorrupt` directly may can not solve the following abnormal case: - Supposing there is a block, blk_1024_1002 with 3 replicas, and these replicas are stored in DN1, DN2 and DN3 - One day, some one changes the meta file of this block on DN2, such as delete the original meta file blk_1024_1002 and create an new meta file blk_1024_1001 with some random data - The DN2 will report this replica to namenode after directory scanner or volume scanner found this inconsistent replica - The nameNode will doesn't mark this replica as a corrupt replica because the storage list already contains DN2 if we modify `markBlockAsCorrupt` directly So I think it looks better to modify `processAllPendingDNMessages` to solve this problem. @Hexiaoqiao @ayushtkn Looking forward your good idea. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org