[Tarantool-patches] [PATCH v5 0/4] replication: fix applying of rows originating from local instance
Serge Petrenko
sergepetrenko at tarantool.org
Fri Feb 28 11:34:41 MSK 2020
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
--
2.21.1 (Apple Git-122.3)
More information about the Tarantool-patches
mailing list