[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