Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0-alpha1
-
None
-
Reviewed
Description
Currently DatanodeProtocol#blockReceivedAndDeleted is not idempotent because pending replication maps in NN only tracks the number of the pending replicas, and a retry request about a received block can cause the pending number decreased more than once. We can make blockReceivedAndDeleted idempotent by tracking corresponding datanodes in the pending replication map.