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

Cyrill Gorcunov gorcunov at gmail.com
Fri May 28 10:23:59 MSK 2021


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.

The rest of patch, looks ok to me, thanks!


More information about the Tarantool-patches mailing list