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

Vladislav Pyatkov updated IGNITE-24789:
---------------------------------------
    Description: 
h3. Motivation
After the ticket IGNITE-24484 had been implemented, we started sending a single 
heartbeat coalescence message. But we still trigger a heartbeat for each RAFT 
goup:
{code}
private void startHeartbeatTimer(final long startMs) {
    final long dueTime = startMs + this.options.getDynamicHeartBeatTimeoutMs();
    try {
        this.heartbeatTimer = this.timerManager.schedule(() -> 
onTimeout(this.id), dueTime - Utils.nowMs(),
            TimeUnit.MILLISECONDS);
    }
    catch (final Exception e) {
        LOG.error("Fail to schedule heartbeat timer", e);
        onTimeout(this.id);
    }
}
{code}
It takes additional processing time and makes us wait for a collecting batch.

h3. Definition of done.
Replace the coalescing approach to the direct trigger heartbeat for all RAFT 
groups, which would send on one message. 


  was:TBD


> Single trigger for all RAFT heartbeat in node
> ---------------------------------------------
>
>                 Key: IGNITE-24789
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24789
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> After the ticket IGNITE-24484 had been implemented, we started sending a 
> single heartbeat coalescence message. But we still trigger a heartbeat for 
> each RAFT goup:
> {code}
> private void startHeartbeatTimer(final long startMs) {
>     final long dueTime = startMs + 
> this.options.getDynamicHeartBeatTimeoutMs();
>     try {
>         this.heartbeatTimer = this.timerManager.schedule(() -> 
> onTimeout(this.id), dueTime - Utils.nowMs(),
>             TimeUnit.MILLISECONDS);
>     }
>     catch (final Exception e) {
>         LOG.error("Fail to schedule heartbeat timer", e);
>         onTimeout(this.id);
>     }
> }
> {code}
> It takes additional processing time and makes us wait for a collecting batch.
> h3. Definition of done.
> Replace the coalescing approach to the direct trigger heartbeat for all RAFT 
> groups, which would send on one message. 



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

Reply via email to