[Tarantool-patches] [PATCH v5 0/4] replication: fix local space tracking
Serge Petrenko
sergepetrenko at tarantool.org
Tue Mar 31 14:24:13 MSK 2020
> 30 марта 2020 г., в 14:04, Serge Petrenko <sergepetrenko at tarantool.org> написал(а):
>
> https://github.com/tarantool/tarantool/issues/4114
> https://github.com/tarantool/tarantool/tree/sp/gh-4114-local-space-replication
>
> Changes in v5:
> - review fixes as per review from Kostja
>
> Changes in v4:
> - review fixes as per review from Kostja
>
> Changes in v3:
> - rewrite the patches re wal gc rework
> to avoid matrix clock.
>
> Changes in v2:
> - used Georgy's patches re introduction of
> matrix clock and wal gc rework to fix the
> problem with ordering gc consumers by
> vclock signature
>
> Serge Petrenko (4):
> vclock: add an ability to reset individual clock components
> replication: hide 0-th vclock components in replication responses
> gc: rely on minimal vclock components instead of signatures
> box: start counting local space requests separately
>
> src/box/applier.cc | 4 +-
> src/box/box.cc | 29 +++-
> src/box/gc.c | 41 +++---
> src/box/recovery.cc | 8 +-
> src/box/relay.cc | 21 +--
> src/box/vclock.c | 15 +++
> src/box/vclock.h | 102 ++++++++++++++
> src/box/wal.c | 16 ++-
> test/replication/anon.result | 5 +
> test/replication/anon.test.lua | 2 +
> test/replication/autobootstrap.result | 6 +
> test/replication/autobootstrap.test.lua | 2 +
> test/replication/before_replace.result | 8 +-
> test/replication/before_replace.test.lua | 4 +-
> .../gh-4114-local-space-replication.result | 125 ++++++++++++++++++
> .../gh-4114-local-space-replication.test.lua | 48 +++++++
> test/replication/local_spaces.result | 4 +
> test/replication/local_spaces.test.lua | 3 +
> test/replication/misc.result | 6 +
> test/replication/misc.test.lua | 2 +
> test/replication/quorum.result | 6 +
> test/replication/quorum.test.lua | 2 +
> test/replication/replica_rejoin.result | 9 ++
> test/replication/replica_rejoin.test.lua | 3 +
> test/replication/skip_conflict_row.result | 3 +
> test/replication/skip_conflict_row.test.lua | 1 +
> test/replication/suite.cfg | 1 +
> test/vinyl/errinj.result | 5 +
> test/vinyl/errinj.test.lua | 4 +
> 29 files changed, 442 insertions(+), 43 deletions(-)
> create mode 100644 test/replication/gh-4114-local-space-replication.result
> create mode 100644 test/replication/gh-4114-local-space-replication.test.lua
>
> --
> 2.21.1 (Apple Git-122.3)
>
The patchset needs a changelog entry.
Sorry for late posting, here’s one:
@ChangeLog:
- local space operations are now counted in 0th vclock
component. Every instance may have its own 0-th vclock
component not matching others’. Local space operations
are not replicated at all, even as NOPs. (gh-4114)
- gc consumers are now ordered by their vclocks and not
by vclock signatures. Only the WALS that contain no
entries needed by any of the consumers are deleted. (gh-4114)
--
Serge Petrenko
sergepetrenko at tarantool.org
More information about the Tarantool-patches
mailing list