[Tarantool-patches] [PATCH v3 01/12] replication: always send raft state to subscribers

Serge Petrenko sergepetrenko at tarantool.org
Fri Jul 9 12:43:08 MSK 2021



04.07.2021 15:12, Vladislav Shpilevoy пишет:
> Hi! Thanks for the patch!
>
> On 29.06.2021 00:12, Serge Petrenko via Tarantool-patches wrote:
>> Tarantool used to send out raft state on subscribe only when raft was
>> enabled. This was a safeguard against partially-upgraded clusters, where
>> some nodes had no clue about Raft messages and couldn't handle them
>> properly.
>>
>> Actually, Raft state should be sent out always. For example, promote
>> will be changed to bump Raft term even when Raft is disabled, and it's
>> important that everyone in cluster has the same term for the sake of promote
>> at least.
>>
>> So, send out Raft state to every subscriber with version >= 2.6.0
>> (that's when Raft was introduced).
>> Do the same for Raft broadcasts. They should be sent only to replicas
>> with version >= 2.6.0
>>
>> Closes #5438
>> ---
>>   src/box/box.cc                               | 11 ++--
>>   src/box/relay.cc                             |  4 +-
>>   test/replication/gh-5438-raft-state.result   | 63 ++++++++++++++++++++
>>   test/replication/gh-5438-raft-state.test.lua | 28 +++++++++
> I propose to rename raft -> election in the test name. To be
> consistent with the existing election tests. Also it simplifies
> running all of them by doing `python test-run.py election`.
Thanks for the review!

Sure, fixed.

-- 
Serge Petrenko



More information about the Tarantool-patches mailing list