[ 
https://issues.apache.org/jira/browse/HDFS-11827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16013466#comment-16013466
 ] 

Hudson commented on HDFS-11827:
-------------------------------

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #11741 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/11741/])
HDFS-11827. NPE is thrown when log level changed in (arp: rev 
ec21ce425f4e5637be716406f9d0e038921550d7)
* (edit) 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicyDefault.java


> NPE is thrown when log level changed in 
> BlockPlacementPolicyDefault#chooseRandom() method 
> ------------------------------------------------------------------------------------------
>
>                 Key: HDFS-11827
>                 URL: https://issues.apache.org/jira/browse/HDFS-11827
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>         Environment: hadoop-version: 2.6.0-cdh5.4.4
>            Reporter: xupeng
>            Assignee: xupeng
>             Fix For: 2.9.0, 3.0.0-alpha3
>
>         Attachments: HDFS-11827.001.patch
>
>
> This issue was found by my colleague when changing log-level of 
> BlockPlacementPolicy using "hadoop daemonlog" command. 
> The exception stack trace is below:
> {noformat}
> 2017-05-16 13:36:51,053 ERROR 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager: 
> ReplicationMonitor thread received Runtime exception.
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseRandom(BlockPlacementPolicyDefault.java:666)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseRemoteRack(BlockPlacementPolicyDefault.java:607)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseTarget(BlockPlacementPolicyDefault.java:375)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseTarget(BlockPlacementPolicyDefault.java:446)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseTarget(BlockPlacementPolicyDefault.java:446)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseTarget(BlockPlacementPolicyDefault.java:240)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.chooseTarget(BlockPlacementPolicyDefault.java:119)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyWithMultiDC.chooseTargetInternal(BlockPlacementPolicyWithMultiDC.java:263)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyWithMultiDC.chooseTarget(BlockPlacementPolicyWithMultiDC.java:214)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationWork.chooseTargets(BlockManager.java:3836)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationWork.access$200(BlockManager.java:3801)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.computeReplicationWorkForBlocks(BlockManager.java:1394)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.computeReplicationWork(BlockManager.java:1300)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.computeDatanodeWork(BlockManager.java:3764)
>         at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationMonitor.run(BlockManager.java:3711)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}
> After checking _BlockPlacementPolicyDefault_ code of trunk, I found that 
> _BlockPlacementPolicyDefault_ class missed some NPE check code in 
> _chooseRandom()_ method. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to