Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
0.20.0
-
None
-
None
-
Reviewed
Description
NameNode does not handle reportBadBlocks() properly. As a result, when DataNode reports the corruption (only in the case of block transfer between two datanodes), further attempts to replicate the block end up marking all the replicas as corrupt!
From the implementation, it looks like NN incorrectly uses the block object used in RPC to queue to neededReplication queue instead of using internal block object.
will include an actual example in the next comment.