[ 
https://issues.apache.org/jira/browse/HDFS-8827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Takuya Fukudome updated HDFS-8827:
----------------------------------
    Attachment: HDFS-8827.1.patch

Thanks for the comment, [~zhz]! I attached an initial patch which added a unit 
test occurs this issue. It processes a small EC file which doesn't have full 
internal blocks and its internal blocks are over replicated.
If I understood correctly, when some indices of internal blocks are missing and 
internal blocks are over replicated, 
{{BlockPlacementPolicyDefault#chooseReplicaToDelete}} will return null. I think 
the cause is the {{excessTypes}} in {{chooseExcessReplicasStriped}} is empty 
during the process of such blocks.

> Erasure Coding: When namenode processes over replicated striped block, NPE 
> will be occur in ReplicationMonitor
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8827
>                 URL: https://issues.apache.org/jira/browse/HDFS-8827
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Takuya Fukudome
>            Assignee: Takuya Fukudome
>         Attachments: HDFS-8827.1.patch, processing-over-replica-npe.log
>
>
> In our test cluster, when namenode processed over replicated striped blocks, 
> null pointer exception(NPE) occurred. This happened under below situation: 1) 
> some datanodes shutdown. 2) namenode recovers block group which lost internal 
> blocks. 3) restart the stopped datanodes. 4) namenode processes over 
> replicated striped blocks. 5) NPE occurs
> I think BlockPlacementPolicyDefault#chooseReplicaToDelete will return null in 
> this situation which causes this NPE problem.



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

Reply via email to