[Tarantool-patches] [PATCH 1/1] raft: do not rely on just ev_is_active for timers
sergepetrenko at tarantool.org
Thu Feb 10 17:25:43 MSK 2022
10.02.2022 04:09, Vladislav Shpilevoy пишет:
> When timer has 0 timeout and 0 repeat, during timers preparation
> libev makes them inactive right away but puts into the array of
> pending events.
> Therefore to check if a timer is really active (will be executed
> in the future) need to look both at ev_is_active() and
> It could happen only during split-vote, because all the other
> places use election_timeout + random shift, while split vote uses
> just random shift - it can be 0.
> The patch makes raft do that for all timer checks. Also to make
> the testing reliable and not depend on random the shift factor now
> is configurable. For the test it is set to 0.
> Closes #6847
> NO_CHANGELOG=Bug was not released
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-6847-split-vote-crash
> Issue: https://github.com/tarantool/tarantool/issues/6847
Thanks for the quick fix!
More information about the Tarantool-patches