[Tarantool-patches] [PATCH v14 1/6] qsync: track confirmed lsn number on reads
Serge Petrenko
sergepetrenko at tarantool.org
Mon Sep 13 11:33:55 MSK 2021
12.09.2021 18:44, Vladislav Shpilevoy via Tarantool-patches пишет:
> Thanks for the patch!
>
> On 10.09.2021 17:29, Cyrill Gorcunov via Tarantool-patches wrote:
>> We will use this lsn for requests validation
>> in next patches for sake of split-brain detection.
> I don't understand. How exactly will it help?
Confirmed_lsn wasn't tracked during recovery and while
following a master. So, essentially, only the living master could
detect splitbrains by comparing confirmed_lsn to something else.
>
>> Part-of #6036
>>
>> Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
>> ---
>> src/box/txn_limbo.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/src/box/txn_limbo.c b/src/box/txn_limbo.c
>> index 70447caaf..cca2ce493 100644
>> --- a/src/box/txn_limbo.c
>> +++ b/src/box/txn_limbo.c
>> @@ -437,6 +437,13 @@ txn_limbo_read_confirm(struct txn_limbo *limbo, int64_t lsn)
>> assert(e->txn->signature >= 0);
>> txn_complete_success(e->txn);
>> }
>> +
>> + /*
>> + * We use confirmed lsn number to verify requests and
>> + * reject ones coming from split-brain cluster configurations,
>> + * so update it even if there were no entries to process.
>> + */
>> + limbo->confirmed_lsn = lsn;
--
Serge Petrenko
More information about the Tarantool-patches
mailing list