[Tarantool-patches] [PATCH] vinyl: rotate mem during index build on demand

Konstantin Osipov kostja.osipov at gmail.com
Fri Jun 5 14:33:19 MSK 2020


* Nikita Pettik <korablev at tarantool.org> [20/06/05 14:23]:
> > > So to get rid of generations mismatch, let's rotate in-memory level
> > > after yield on demand.
> > 
> > Could you please also elaborate why generation mismatch is bad
> > here? What does it lead to specifically?
> 
> Because right after yield, vy_stmt is allocated using ls region
> (in vy_build_insert_stmt()) and inserted into mem. Ls region does
> not tolerate non-decreasing ids: otherwise region gc may truncate
> data which is still accessible.

Right, this is a gotcha I forgot about. The entire ls_region was a
temporary crutch to get dumps working.

Thanks for explanation.

-- 
Konstantin Osipov, Moscow, Russia
https://scylladb.com


More information about the Tarantool-patches mailing list