[jira] [Updated] (HDFS-8993) Balancer throws NPE
[ https://issues.apache.org/jira/browse/HDFS-8993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] He Xiaoqiao updated HDFS-8993: -- Description: Balancer may throw NPE because the following {{if Statements}} at line 709 of Balancer.java {code:title=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); } } } {code} 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. was: Balancer may throw NPE because the following {{if Statements}} {code:title=Balancer.java|firstline=705} 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); } } } {code} 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. > Balancer throws NPE > --- > > Key: HDFS-8993 > URL: https://issues.apache.org/jira/browse/HDFS-8993 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer & mover >Affects Versions: 2.4.1 >Reporter: He Xiaoqiao > > Balancer may throw NPE because the following {{if Statements}} at line 709 of > Balancer.java > {code:title=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); > } > } > } > {code} > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HDFS-8993) Balancer throws NPE
[ https://issues.apache.org/jira/browse/HDFS-8993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] He Xiaoqiao updated HDFS-8993: -- Description: Balancer may throw NPE because the following {{if Statements}} {code:title=Balancer.java|firstline=705} 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); } } } {code} 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. was: Balancer may throw NPE because the following {{if Statements}} {code:java|firstline=705} 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); } } } {code} 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. > Balancer throws NPE > --- > > Key: HDFS-8993 > URL: https://issues.apache.org/jira/browse/HDFS-8993 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer & mover >Affects Versions: 2.4.1 >Reporter: He Xiaoqiao > > Balancer may throw NPE because the following {{if Statements}} > {code:title=Balancer.java|firstline=705} > 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); > } > } > } > {code} > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)