ade created HDFS-8770:
-------------------------

             Summary: ReplicationMonitor thread received Runtime exception: 
NullPointerException when BlockManager.chooseExcessReplicates
                 Key: HDFS-8770
                 URL: https://issues.apache.org/jira/browse/HDFS-8770
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: namenode
    Affects Versions: 2.7.0, 2.6.0
            Reporter: ade
            Assignee: ade
            Priority: Critical


Namenode shutdown when ReplicationMonitor thread received Runtime exception:
{quote}
2015-07-08 16:43:55,167 ERROR 
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager: ReplicationMonitor 
thread received Runtime exception.
java.lang.NullPointerException
        at 
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.adjustSetsWithChosenReplica(BlockPlacementPolicy.java:189)
        at 
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseExcessReplicates(BlockManager.java:2911)
        at 
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processOverReplicatedBlock(BlockManager.java:2849)
        at 
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processMisReplicatedBlock(BlockManager.java:2780)
        at 
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.rescanPostponedMisreplicatedBlocks(BlockManager.java:1931)
        at 
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationMonitor.run(BlockManager.java:3628)
        at java.lang.Thread.run(Thread.java:744)
{quote}
We use hadoop-2.6.0 configured with heterogeneous storages and setStoragePolicy 
some path One_SSD. When a block has excess replicated like 2 SSD replica on 
different rack(exactlyOne set) and 2 Disk on same rack(moreThanOne set), 
BlockPlacementPolicyDefault.chooseReplicaToDelete return null because only 
moreThanOne set be chosen to find SSD replica



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to