From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) (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 97C2A46970E for ; Wed, 5 Feb 2020 13:12:54 +0300 (MSK) Received: by mail-lj1-f196.google.com with SMTP id x14so1663827ljd.13 for ; Wed, 05 Feb 2020 02:12:54 -0800 (PST) Date: Wed, 5 Feb 2020 13:12:51 +0300 From: Cyrill Gorcunov Message-ID: <20200205101251.GL12445@uranus> References: <20200126223023.10197-1-gorcunov@gmail.com> <20200126223023.10197-4-gorcunov@gmail.com> <20200204220430.GB20146@atlas> <20200205081814.GI12445@uranus> <20200205095059.GC4624@atlas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200205095059.GC4624@atlas> 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: Konstantin Osipov Cc: tml 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. > > 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.