[Tarantool-patches] [PATCH v5 0/4] replication: fix applying of rows originating from local instance

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sat Feb 29 02:24:52 MSK 2020


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
> 


More information about the Tarantool-patches mailing list