From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp50.i.mail.ru (smtp50.i.mail.ru [94.100.177.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 35AF2469719 for ; Sat, 29 Feb 2020 02:24:56 +0300 (MSK) References: From: Vladislav Shpilevoy Message-ID: Date: Sat, 29 Feb 2020 00:24:52 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH v5 0/4] replication: fix applying of rows originating from local instance List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Serge Petrenko Cc: kirichenkoga@gmail.com, tarantool-patches@dev.tarantool.org Thanks for the patchset! LGTM. On 28/02/2020 09:34, Serge Petrenko wrote: > https://github.com/tarantool/tarantool/issues/4739 > https://github.com/tarantool/tarantool/tree/sp/gh-4739-vclock-assert-v4 > > @ChangeLog > - fix possible vclock ordering violations in > master-master replication when one of the > masters restarts (gh-4739) > > Changes in v5: > - review fixes as per reviews from Vlad and Kostja > - added a test > - applied Vlads test amendments > - added a changelog > > Changes in v4: > - move row skipping logic from recovery to relay > - encode a list of instances whose rows to skip > in SUBSCRIBE request insead of encoding > is_orhpan status > > Changes in v3: > - review fixes as per review from Vlad > - instead of skipping rows on replica side, > do it on master side, by patching recovery > to silently follow rows coming from a certain > instance. > > Changes in v2: > - review fixes as per review from Kostja > > Serge Petrenko (4): > box: expose box_is_orphan method > wal: warn when trying to write a record with a broken lsn > replication: implement an instance id filter for relay > replication: do not relay rows coming from a remote instance back to > it > > src/box/applier.cc | 7 +- > src/box/box.cc | 13 ++- > src/box/box.h | 3 + > src/box/iproto_constants.h | 1 + > src/box/relay.cc | 15 +++- > src/box/relay.h | 3 +- > src/box/wal.c | 20 ++++- > src/box/xrow.c | 40 ++++++++- > src/box/xrow.h | 36 +++++--- > src/lib/core/cbus.h | 7 ++ > src/lib/core/errinj.h | 3 +- > test/box/errinj.result | 1 + > test/replication/gh-4739-vclock-assert.result | 88 +++++++++++++++++++ > .../gh-4739-vclock-assert.test.lua | 36 ++++++++ > test/replication/suite.cfg | 1 + > test/replication/suite.ini | 2 +- > 16 files changed, 250 insertions(+), 26 deletions(-) > create mode 100644 test/replication/gh-4739-vclock-assert.result > create mode 100644 test/replication/gh-4739-vclock-assert.test.lua >