From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 27 Mar 2019 12:59:00 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] [PATCH v3 1/5] Abort vinyl index creation in case of truncation rollback Message-ID: <20190327095900.ztg6drk7cts7k4qe@esperanza> References: <6781097cb02acfa6b5cdc102fafa7045a1682e05.1553255718.git.georgy@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6781097cb02acfa6b5cdc102fafa7045a1682e05.1553255718.git.georgy@tarantool.org> To: Georgy Kirichenko Cc: tarantool-patches@freelists.org List-ID: On Fri, Mar 22, 2019 at 03:06:06PM +0300, Georgy Kirichenko wrote: > Abort a new index creation if truncate couldn't be finished because of > rollback or an error. Without this vinyl fails because of internal > scheduler assertion. > > Needed for: 2798 > --- > src/box/alter.cc | 13 +++++++-- > test/engine/errinj.result | 53 +++++++++++++++++++++++++++++++++++++ > test/engine/errinj.test.lua | 15 +++++++++++ > test/engine/suite.ini | 1 + > 4 files changed, 80 insertions(+), 2 deletions(-) > create mode 100644 test/engine/errinj.result > create mode 100644 test/engine/errinj.test.lua > > diff --git a/src/box/alter.cc b/src/box/alter.cc > index 080a72b9f..daaa9cd57 100644 > --- a/src/box/alter.cc > +++ b/src/box/alter.cc > @@ -1310,13 +1310,16 @@ public: > : AlterSpaceOp(alter), iid(iid) {} > /** id of the index to truncate. */ > uint32_t iid; > + struct index *new_index; new_index must be initialized with NULL in the constructor. Other than this minor thing, the patch is fine by me. Kostja has already pushed it to master, 2.1, and 1.10.