[PATCH v4 0/2] memtx: add yields during index build

Vladimir Davydov vdavydov.dev at gmail.com
Thu May 30 16:38:11 MSK 2019


On Thu, May 30, 2019 at 03:13:26PM +0300, Serge Petrenko wrote:
> This patchset makes memtx engine yield during index build, which prevents it
> from stalling the event loop, and moves appropriate test cases from vinyl suite,
> where such a feature was implemented earlier, to engine suite.
> 
> The first patch introduces changes in index build mechanism
> The second patch adds necessary tests
> 
> Changes in v4:
>   - move errinj introduction to the
>     second patch
>   - move more tests from vinyl/errinj_ddl
>     to engine/errinj_ddl
>   - unify errinjs in memtx and vinyl index
>     build for easier testing
>   - ref count cursor before yield in index
>     build
> 
> Changes in v3:
>  - split the patch into two,
>    the second one moving appropriate
>    tests from vinyl to engine suite
>  - add a docbot request to the
>    first patch
>  - ensure index unique constraints
>    are checked in on_replace triggers
>  - fix tuple comparsion in on_replace
>    triggers
> 
> Changes in v2:
>  - add an on_replace trigger
>    to handle concurrent replaces
>    while index build yields
>  - modify test case slightly,
>    test concurrent replaces.
> 
> Serge Petrenko (2):
>   memtx: add yields during index build
>   test: move background index build test to engine suite from vinyl

Pushed to master. Thanks for addressing all my comments.

We should probably make format check yielding, too. This should be
very similar to what you've just done. Please consider doing this in
a follow-up patch.



More information about the Tarantool-patches mailing list