Details
-
Type:
Improvement
-
Status: Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.8.0, 3.0.0-alpha1
-
Component/s: namenode
-
Labels:None
-
Target Version/s:
-
Hadoop Flags:Reviewed
Description
The BlockManager#removeFromExcessReplicateMap() method accepts a Block which is to remove from excessReplicateMap. However the excessReplicateMap maps a StorageID to the set of BlockInfo that are "extra" for the DataNode of the StorageID. Deleting a sub-class object from a collection provided a base-class object happens to work here.
Alternatively, we can make the removeFromExcessReplicateMap accept a BlockInfo object. As the current call stack is passing BlockInfo object mostly, the code change should be safe.
Attachments
Issue Links
- is required by
-
HDFS-9442 Move block replication logic from BlockManager to a new class ReplicationManager
-
- Resolved
-