You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "GuoHao (Jira)" <ji...@apache.org> on 2023/09/14 08:44:00 UTC

[jira] [Updated] (HDDS-9281) The DatanodeCommand sent in LegacyReplicationManager does not set the deadline

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

GuoHao updated HDDS-9281:
-------------------------
    Description: 
Description:

When a host is shut down and the node deadline is exceeded, the state of the node is changed to DEAD, and the replication manager of the SCM schedules the replenishment of the replica of the container that the node is responsible for.

When the machine has more data and fewer nodes, other datanode nodes will receive too many replication tasks and queue them for execution. When the datanode is restarted during the execution process and reports the container it is responsible for to the SCM, these replication tasks will still be executed in the queue.

I know that each datanode command has a deadline, and I don't see it set in LegacyReplicationManager; it's set in ReplicationManager, and if LegacyReplicationManager is also set If LegacyReplicationManager also sets deadline, then the replication task on datanode will not be executed when it reaches deadline.



ReplicationManager code see:
{code:java}
//代码占位符
{code}
 

LegacyReplicationManager code see:
{code:java}
//代码占位符
{code}

> The DatanodeCommand sent in LegacyReplicationManager does not set the deadline
> ------------------------------------------------------------------------------
>
>                 Key: HDDS-9281
>                 URL: https://issues.apache.org/jira/browse/HDDS-9281
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: GuoHao
>            Priority: Major
>
> Description:
> When a host is shut down and the node deadline is exceeded, the state of the node is changed to DEAD, and the replication manager of the SCM schedules the replenishment of the replica of the container that the node is responsible for.
> When the machine has more data and fewer nodes, other datanode nodes will receive too many replication tasks and queue them for execution. When the datanode is restarted during the execution process and reports the container it is responsible for to the SCM, these replication tasks will still be executed in the queue.
> I know that each datanode command has a deadline, and I don't see it set in LegacyReplicationManager; it's set in ReplicationManager, and if LegacyReplicationManager is also set If LegacyReplicationManager also sets deadline, then the replication task on datanode will not be executed when it reaches deadline.
> ReplicationManager code see:
> {code:java}
> //代码占位符
> {code}
>  
> LegacyReplicationManager code see:
> {code:java}
> //代码占位符
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org