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

Siyao Meng updated HDDS-17314:
------------------------------
    Description: 
{{hdds.heartbeat.recon.interval}} (default 60s) does not control how often a 
Datanode heartbeats Recon. {{RunningDatanodeState}} submits a heartbeat to 
every endpoint, Recon included, on each SCM heartbeat cycle 
({{hdds.heartbeat.interval}}). HDDS-5862 only used the Recon interval as the 
timeout for waiting on the Recon heartbeat task, not as its interval, and 
HDDS-12639 (a logging change) dropped even that use, apparently by accident. So 
Recon has always received heartbeats as often as SCM.

Proposed fix:
* Skip the Recon heartbeat in {{RunningDatanodeState}} until 
{{hdds.heartbeat.recon.interval}} has passed since the last one. Version and 
register calls to Recon are not delayed.
* Bound the interval: at least {{hdds.heartbeat.interval}}, and at most a third 
of {{ozone.scm.stale.node.interval}}, so Recon does not mark Datanodes stale or 
dead between heartbeats.
* Set a short Recon interval in the compose clusters that run Recon tests and 
in {{MiniOzoneCluster}}, so those tests do not wait longer.

  was:
{{hdds.heartbeat.recon.interval}} (default 60s) does not control how often a 
Datanode heartbeats Recon. {{RunningDatanodeState}} submits a heartbeat to 
every endpoint, Recon included, on each SCM heartbeat cycle 
({{hdds.heartbeat.interval}}). The Recon interval is read into {{StateContext}} 
(HDDS-5862), but nothing has used it since HDDS-12639 dropped it from the task 
wait, so Recon gets heartbeats as often as SCM does.

Proposed fix:
* Skip the Recon heartbeat in {{RunningDatanodeState}} until 
{{hdds.heartbeat.recon.interval}} has passed since the last one. Version and 
register calls to Recon are not delayed.
* Bound the interval: at least {{hdds.heartbeat.interval}}, and at most a third 
of {{ozone.scm.stale.node.interval}}, so Recon does not mark Datanodes stale or 
dead between heartbeats.
* Set a short Recon interval in the compose clusters that run Recon tests and 
in {{MiniOzoneCluster}}, so those tests do not wait longer.


> Make hdds.heartbeat.recon.interval control the Datanode to Recon heartbeat 
> interval
> -----------------------------------------------------------------------------------
>
>                 Key: HDDS-17314
>                 URL: https://issues.apache.org/jira/browse/HDDS-17314
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: Ozone Datanode, Ozone Recon
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>              Labels: pull-request-available
>
> {{hdds.heartbeat.recon.interval}} (default 60s) does not control how often a 
> Datanode heartbeats Recon. {{RunningDatanodeState}} submits a heartbeat to 
> every endpoint, Recon included, on each SCM heartbeat cycle 
> ({{hdds.heartbeat.interval}}). HDDS-5862 only used the Recon interval as the 
> timeout for waiting on the Recon heartbeat task, not as its interval, and 
> HDDS-12639 (a logging change) dropped even that use, apparently by accident. 
> So Recon has always received heartbeats as often as SCM.
> Proposed fix:
> * Skip the Recon heartbeat in {{RunningDatanodeState}} until 
> {{hdds.heartbeat.recon.interval}} has passed since the last one. Version and 
> register calls to Recon are not delayed.
> * Bound the interval: at least {{hdds.heartbeat.interval}}, and at most a 
> third of {{ozone.scm.stale.node.interval}}, so Recon does not mark Datanodes 
> stale or dead between heartbeats.
> * Set a short Recon interval in the compose clusters that run Recon tests and 
> in {{MiniOzoneCluster}}, so those tests do not wait longer.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to