smengcl opened a new pull request, #11695:
URL: https://github.com/apache/ozone/pull/11695

   Generated-by: Claude Code (Opus 5.5)
   
   ## What changes were proposed in this pull request?
   
   `hdds.heartbeat.recon.interval` (default 60s) does not control how often a 
datanode heartbeats Recon. `RunningDatanodeState` sends a heartbeat to every 
endpoint, Recon included, on each SCM heartbeat cycle. The Recon interval is 
read into `StateContext` (HDDS-5862), but it has been unused since HDDS-12639 
removed it from the task wait.
   
   This change:
   * Skips the Recon heartbeat in `RunningDatanodeState` until the Recon 
interval has passed since the last one. Version and register calls to Recon are 
not delayed. Half of the SCM heartbeat interval is allowed as slack, so small 
timing differences do not push the Recon heartbeat a whole cycle later.
   * Bounds the interval in `HddsServerUtil.getReconHeartbeatInterval`: at 
least `hdds.heartbeat.interval`, and at most a third of 
`ozone.scm.stale.node.interval`, so Recon (which uses the SCM stale and dead 
node intervals) does not mark datanodes stale between heartbeats.
   * Sets a short Recon interval in the `ozone`, `ozonesecure`, 
`ozone-topology` and `compatibility` compose clusters (which run Recon tests) 
and in `MiniOzoneCluster`, so those tests do not wait longer.
   * Updates the description in `ozone-default.xml`.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-17314
   
   ## How was this patch tested?
   
   Added `TestRunningDatanodeState#testReconHeartbeatInterval` and 
`TestHddsServerUtils#testGetReconHeartbeatInterval`. Both fail without the fix. 
Existing tests in both classes pass.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to