You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Manoj Govindassamy (JIRA)" <ji...@apache.org> on 2017/05/10 01:16:04 UTC
[jira] [Commented] (HDFS-11790) Decommissioning of a DataNode after
MaintenanceState takes a very long time to complete
[ https://issues.apache.org/jira/browse/HDFS-11790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16003869#comment-16003869 ]
Manoj Govindassamy commented on HDFS-11790:
-------------------------------------------
[~mingma],
Please take a look at the problem description and let us know your thoughts.
I think {{BlockManager#computeReconstructionWorkForBlocks()}} and {{BlockManager#validateReconstructionWork()}} should be aware of IN_MAINT DNs and avoid chosing them as source datanodes for re-replication.
> Decommissioning of a DataNode after MaintenanceState takes a very long time to complete
> ---------------------------------------------------------------------------------------
>
> Key: HDFS-11790
> URL: https://issues.apache.org/jira/browse/HDFS-11790
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs
> Affects Versions: 3.0.0-alpha1
> Reporter: Manoj Govindassamy
> Assignee: Manoj Govindassamy
>
> *Problem:*
> When a DataNode is requested for Decommissioning after it successfully transitioned to MaintenanceState (HDFS-7877), the decommissioning state transition is stuck for a long time even for very small number of blocks in the cluster.
> *Details:*
> * A DataNode DN1 wa requested for MaintenanceState and it successfully transitioned from ENTERING_MAINTENANCE state IN_MAINTENANCE state as there are sufficient replication for all its blocks.
> * As DN1 was in maintenance state now, the DataNode process was stopped on DN1. Later the same DN1 was requested for Decommissioning.
> * As part of Decommissioning, all the blocks residing in DN1 were requested for re-replicated to other DataNodes, so that DN1 could transition from ENTERING_DECOMMISSION to DECOMMISSIONED.
> * But, re-replication for few blocks was stuck for a long time. Eventually it got completed.
> * Digging the code and logs, found that the IN_MAINTENANCE DN1 was chosen as a source datanode for re-replication of few of the blocks. Since DataNode process on DN1 was already stopped, the re-replication was stuck for a long time.
> * Eventually PendingReplicationMonitor timed out, and those re-replication were re-scheduled for those timed out blocks. Again, during the re-replication also, the IN_MAINT DN1 was chose as a source datanode for few of the blocks leading to timeout again. This iteration continued for few times until all blocks get re-replicated.
> * By design, IN_MAINT datandoes should not be chosen for any read or write operations.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org