[jira] [Updated] (HDFS-8993) Balancer throws NPE

2015-08-29 Thread He Xiaoqiao (JIRA)

 [ 
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

2015-08-29 Thread He Xiaoqiao (JIRA)

 [ 
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)