[Tarantool-patches] [PATCH 8/8] replication: write and read CONFIRM entries
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Fri Jun 26 01:31:09 MSK 2020
On 26/06/2020 00:04, Vladislav Shpilevoy wrote:
>> diff --git a/src/box/txn_limbo.c b/src/box/txn_limbo.c
>> index efb97a591..daec98317 100644
>> --- a/src/box/txn_limbo.c
>> +++ b/src/box/txn_limbo.c
>> @@ -128,12 +128,65 @@ txn_limbo_wait_complete(struct txn_limbo *limbo, struct txn_limbo_entry *entry)
>> +void
>> +txn_limbo_read_confirm(struct txn_limbo *limbo, int64_t lsn)
>> +{
>> + assert(limbo->instance_id != REPLICA_ID_NIL &&
>> + limbo->instance_id != instance_id);
>> + struct txn_limbo_entry *e, *tmp;
>> + rlist_foreach_entry_safe(e, &limbo->queue, in_queue, tmp) {
>> + if (e->lsn > lsn)
>> + break;
>
> What if e->lsn is -1, because its LSN wasn't delivered to TX thread
> from WAL thread yet?
Probably not a bug. At least now. Because txn_limbo_read_confirm() is called
on replica only, where LSN is known from master before it is written to local WAL.
More information about the Tarantool-patches
mailing list