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

[jira] [Updated] (HDDS-9823) Pipeline failure should trigger heartbeat immediately

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

Ivan Andika updated HDDS-9823:
------------------------------
    Description: 
XceiverServerRatis#handlePipelineFailure is called in CSM failure scenarios
 * XceiverServerRatis#handleNodeSlowness
 ** From StateMachine#notifyFollowerSlowness
 * XceiverServerRatis#handleNoLeader
 ** From StateMachine#notifyExtendedNoLeader
 * XceiverServerRatis#handleInstallSnapshotFromLeader
 ** From StateMachine#notifyInstallSnapshotFromLeader

The possible issue is that XceieverServerRatis#handlePipelineFailure does not trigger Heartbeat to SCM immediately. Instead, it waits until the next heartbeat (default 60s) to send the pipeline close action command. This might cause SCM to still allocate blocks to these "failed" pipelines during this duration which might impact on client writing to these blocks.

To minimize the impact on client. I suggest that the datanode trigger the pipeline close command immediately for every pipeline action close command triggered due to pipeline failure.

 

  was:
XceiverServerRatis#handlePipelineFailure is called in CSM failure scenarios
 * XceiverServerRatis#handleNodeSlowness
 ** From StateMachine#notifyFollowerSlowness
 * XceiverServerRatis#handleNoLeader
 ** From StateMachine#notifyExtendedNoLeader
 * XceiverServerRatis#handleInstallSnapshotFromLeader
 ** From StateMachine#notifyInstallSnapshotFromLeader

The possible issue is that XceieverServerRatis#handlePipelineFailure does not trigger Heartbeat to SCM immediately. Instead, it waits until the next heartbeat (default 60s) to send the pipeline close action command. This might cause SCM to still allocate blocks to these "failed" pipelines during this duration which might impact on client writing to these blocks.

To minimize the impact on client. I suggest to trigger heartbeat for every pipeline action close command.

 


> Pipeline failure should trigger heartbeat immediately
> -----------------------------------------------------
>
>                 Key: HDDS-9823
>                 URL: https://issues.apache.org/jira/browse/HDDS-9823
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: Ozone Datanode, SCM
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>
> XceiverServerRatis#handlePipelineFailure is called in CSM failure scenarios
>  * XceiverServerRatis#handleNodeSlowness
>  ** From StateMachine#notifyFollowerSlowness
>  * XceiverServerRatis#handleNoLeader
>  ** From StateMachine#notifyExtendedNoLeader
>  * XceiverServerRatis#handleInstallSnapshotFromLeader
>  ** From StateMachine#notifyInstallSnapshotFromLeader
> The possible issue is that XceieverServerRatis#handlePipelineFailure does not trigger Heartbeat to SCM immediately. Instead, it waits until the next heartbeat (default 60s) to send the pipeline close action command. This might cause SCM to still allocate blocks to these "failed" pipelines during this duration which might impact on client writing to these blocks.
> To minimize the impact on client. I suggest that the datanode trigger the pipeline close command immediately for every pipeline action close command triggered due to pipeline failure.
>  



--
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