Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Invalid
-
0.21.0, 0.22.0, 0.23.0, 2.0.0-alpha
-
None
-
None
Description
When the DN creates a replica under recovery, it calls validateIntegrity, which truncates the last checksum chunk off of a replica if it is found to be invalid. Then when the block recovery process happens, this shortened block wins over a longer replica from another node where there was no corruption. Thus, if just one of the DNs has an invalid last checksum chunk, data that has been sync()ed to other datanodes can be lost.