[Tarantool-patches] [PATCH 1/1] qsync: handle async txns right during CONFIRM

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Fri May 28 22:13:22 MSK 2021


Hi! Thanks for the review!

On 28.05.2021 09:23, Cyrill Gorcunov via Tarantool-patches wrote:
> On Thu, May 27, 2021 at 11:28:02PM +0200, Vladislav Shpilevoy wrote:
>> diff --git a/src/box/txn.c b/src/box/txn.c
>> index 1d42c9113..3d4d5c397 100644
>> --- a/src/box/txn.c
>> +++ b/src/box/txn.c
>> @@ -880,8 +880,14 @@ txn_commit(struct txn *txn)
>>  	if (req == NULL)
>>  		goto rollback;
>>  
>> -	bool is_sync = txn_has_flag(txn, TXN_WAIT_SYNC);
>> -	if (is_sync) {
>> +	/*
>> +	 * Do not cash the flag value in a variable. The flag might be deleted
> 
> I suspect you meant "cache"? Obviously flag won't be paying any money :-)
> 
>> +	 * during WAL write. This can happen for async transactions created
>> +	 * during CONFIRM write, whose all blocking sync transactions get
>> +	 * confirmed. They they turn the async transaction into just a plain
> 
> "Then they" I guess? No need for diff, just force push an update please.

Yes, sorry, I was in a big hurry when sent this patch. Fixed on the
branch.


More information about the Tarantool-patches mailing list