Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
A DN has 4 types of storages:
1. NORMAL
2. READ_ONLY
3. FAILED
4. (missing/pruned)
blocksMap.numNodes(blk) counts 1,2,3
blocksMap.getStorages(blk) counts 1,2,3
countNodes(blk).corruptReplicas() counts 1,2
corruptReplicas counts 1,2,3,4. Because findAndMarkBlockAsCorrupt(..) supports adding blk to the map even if the storage is not found.
The inconsistency causes bugs like HDFS-9958.
Attachments
Attachments
Issue Links
- is related to
-
HDFS-9958 BlockManager#createLocatedBlocks can throw NPE for corruptBlocks on failed storages.
- Closed