From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 28 Jan 2019 14:15:08 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] [PATCH v2 0/5] Strong sequentially LSN in journal Message-ID: <20190128111508.s4k7ldzdhdfxf5bm@esperanza> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: Georgy Kirichenko Cc: tarantool-patches@freelists.org List-ID: On Tue, Jan 22, 2019 at 01:31:08PM +0300, Georgy Kirichenko wrote: > The patchset eliminates LSN gaps from journal what is needed for > synchronous replication to enforce data stream consistency. Could you give an example how LSN gaps can break synchronous replication? > Replicaset vclock is promoted only after write, replication row applying > is allowed only if previous row was processed. All conflicting rows to > skip are replacing with NOPs to fill gaps. After all vclock following > protected with assert to ensure that this is strict one step increase. It looks very much like https://github.com/tarantool/tarantool/issues/2283 which was done by Serge P. a while back: https://www.freelists.org/post/tarantool-patches/PATCH-replication-do-not-skip-masters-rows-in-case-of-an-error Shouldn't we rather apply his patch? Or there's some crucial difference? > > Needed for: #980 > > Changes in v2: > - Rebased against latest 2.1 > - Fix handling rows which were returned back > > Issue: https://github.com/tarantool/tarantool/issues/980 > Branch:https://github.com/tarantool/tarantool/tree/g.kirichenko/gh-980-disable-lsn-gaps > > Georgy Kirichenko (5): > Do not promote wal vclock for failed writes > Update replicaset vclock from wal > Enforce applier out of order protection > Emit NOP if an applier skips row > Disallow lsn gaps while vclock following