Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
2.4.1
-
None
-
None
Description
Balancer may throw NPE because the following if Statements at line 709 of Balancer.java
Balancer.java
synchronized (block) { // update locations for (String datanodeUuid : blk.getDatanodeUuids()) { final BalancerDatanode d = datanodeMap.get(datanodeUuid); if (datanode != null) { // not an unknown datanode block.addLocation(d); } } }
Before moving block, Balancer divides into two step to get all DNs info & some blocks of DN from NN. Regarding one DN commission after getDatanodeReport then getBlockList and one block's target is above DN just right, It will throw NPE when dispatcher.
Attachments
Issue Links
- is duplicated by
-
HDFS-8992 Balancer throws NPE
- Resolved