From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 30 May 2019 16:38:11 +0300 From: Vladimir Davydov Subject: Re: [PATCH v4 0/2] memtx: add yields during index build Message-ID: <20190530133811.svuqpxoinhyqtbtc@esperanza> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: Serge Petrenko Cc: tarantool-patches@freelists.org List-ID: 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.