[Tarantool-patches] [PATCH] vinyl: update mem ptr in vy_build_insert_tuple() after yield

Nikita Pettik korablev at tarantool.org
Fri Mar 20 21:24:23 MSK 2020


On 20 Mar 20:40, Konstantin Osipov wrote:
> * Nikita Pettik <korablev at tarantool.org> [20/03/20 18:07]:
> > > * Nikita Pettik <korablev at tarantool.org> [20/03/20 15:41]:
> > > > vy_build_insert_tuple() processes insertion into secondary indexes being
> > > > created. It contains yield points during which in-memory level of LSM
> > > > tree may change (for example rotate owing to triggered dump). So after
> > > > yield point it is required to fetch from LSM struct pointer to mem again
> > > > to operate on valid metadata. This patch updates pointer to mem after
> > > > mentioned yield point.
> > > 
> > > The patch is LGTM, how long does the test run? 
> > 
> > Up to ~5 seconds as a rule.
> >  
> > > Can you add it to an existing low-quota test, to avoid
> > > setup/teardown overhead for such a minor fix?
> > 
> > Ok. But I woudn't say it is minor - bug leads to crashes under
> > highload on customer's servers :)
> 
> The problem is pretty minor. The fix is actually not necessarily
> the best one, too (but seems adequate for 1.10).

Could you please mention other ways to fix it? I'm still new in vinyl,
so it would be helpful to me to investigate all possible solutions and
workarounds. Thanks.
 
> -- 
> Konstantin Osipov, Moscow, Russia


More information about the Tarantool-patches mailing list