From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id A0D6B46970E for ; Wed, 5 Feb 2020 13:45:26 +0300 (MSK) Received: by mail-lj1-f176.google.com with SMTP id q8so1775156ljj.11 for ; Wed, 05 Feb 2020 02:45:26 -0800 (PST) Date: Wed, 5 Feb 2020 13:45:24 +0300 From: Konstantin Osipov Message-ID: <20200205104524.GE4624@atlas> References: <20200126223023.10197-1-gorcunov@gmail.com> <20200126223023.10197-4-gorcunov@gmail.com> <20200204220430.GB20146@atlas> <20200205081814.GI12445@uranus> <20200205095059.GC4624@atlas> <20200205101251.GL12445@uranus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200205101251.GL12445@uranus> Subject: Re: [Tarantool-patches] [PATCH 3/3] box/applier: fix nil dereference in applier rollback List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cyrill Gorcunov Cc: tml * Cyrill Gorcunov [20/02/05 13:42]: > On Wed, Feb 05, 2020 at 12:50:59PM +0300, Konstantin Osipov wrote: > > * Cyrill Gorcunov [20/02/05 11:21]: > > > The reporter pointed somwhere into a deep dive into vynil, the > > > problem is that its been runnin release build first time it > > > triggered. Actually it doesn't matter where exactly it failed, > > > the only important thing is that it failed the way we need > > > to run a rollback procedure. > > > > You can easily get and reconstruct a transaction conflict in > > engine_prepare() in applier if you run active-active and vinyl. > > Could you please clarify the "active-active" term here? I don't > get it yet. Two replicas, both accepting changes on the same data set. > > I'd put the injection in engine_prepare() of vinyl then, to be > > closer to the real world scenario. > > I could but you know I think we should step away from backend engine > and assume that error may happen in any engine (memtx, vynil or whatever > else could be here in future). This way allows us to cover any possible > error. Though I don't have a strong opinion here, since you prefer > vynil error I'll try to implement it. txn_prepare() never throws in memtx. -- Konstantin Osipov, Moscow, Russia https://scylladb.com