On Fri, Mar 15, 2024 at 1:15 PM Ilya Maximets <i.maxim...@ovn.org> wrote: > > While joining, ovsdb-server may not wake up for a duration of a join > timer, which is 1 second and is by default 3x larger than a heartbeat > timer. This is causing unnecessary warnings from the cooperative > multitasking module that thinks that we missed the heartbeat time by > a lot. > > Use join timer (1000) instead while joining. > > Fixes: d4a15647b917 ("ovsdb: raft: Enable cooperative multitasking.") > Signed-off-by: Ilya Maximets <i.maxim...@ovn.org> > --- > > CC: Frode Nordahl <frode.nord...@canonical.com> > > ovsdb/raft.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/ovsdb/raft.c b/ovsdb/raft.c > index 25f462431..57e27bf73 100644 > --- a/ovsdb/raft.c > +++ b/ovsdb/raft.c > @@ -2126,10 +2126,11 @@ raft_run(struct raft *raft) > raft_reset_ping_timer(raft); > } > > + uint64_t interval = raft->joining > + ? 1000 : RAFT_TIMER_THRESHOLD(raft->election_timer);
nit: the hardcoded joining timer value 1000 is used at least 3 places, so probably better to define a macro for it. Acked-by: Han Zhou <hz...@ovn.org> > cooperative_multitasking_set( > &raft_run_cb, (void *) raft, time_msec(), > - RAFT_TIMER_THRESHOLD(raft->election_timer) > - + RAFT_TIMER_THRESHOLD(raft->election_timer) / 10, "raft_run"); > + interval + interval / 10, "raft_run"); > > /* Do this only at the end; if we did it as soon as we set raft->left or > * raft->failed in handling the RemoveServerReply, then it could easily > -- > 2.43.0 > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev