[tarantool-patches] Re: [PATCH] vinyl: fix assertion failure in vy_tx_handle_deferred_delete

Konstantin Osipov kostja at tarantool.org
Tue Jun 18 08:45:54 MSK 2019


* Vladimir Davydov <vdavydov.dev at gmail.com> [19/06/17 19:08]:
> vy_tx_handle_deferred_delete() expects (righteously) that in case a
> deferred DELETE overwrites a statement in a secondary index write set
> and the overwritten statement wasn't skipped on commit (i.e. doesn't
> have txv->is_overwritten flag set), both the old and the new statement
> must be REPLACEs (see the comment to the corresponding assertions for
> more details).
> 
> The problem is we don't set is_overwritten flag in case a statement
> doesn't have any effect (txv->is_nop is set), even if it was, in fact,
> overwritten in the primary index write set (see vy_tx_prepare). As
> a result, we get an assertion failure when we delete such statement
> in the same transaction, e.g.

lgtm


-- 
Konstantin Osipov, Moscow, Russia




More information about the Tarantool-patches mailing list