[PATCH 0/6] WAL garbage collection and checkpointing fixes

Vladimir Davydov vdavydov.dev at gmail.com
Sun Nov 25 16:48:07 MSK 2018


This patch set fixes a couple of issues related to WAL checkpointing and
garbage collection (see [1, 2]) and does some refactoring necessary for
implementation of checkpoint-on-WAL-threshold feature (see [3]).
The branch with the code is available at [4].

[1] https://github.com/tarantool/tarantool/issues/3822
[2] https://github.com/tarantool/tarantool/issues/3830
[3] https://github.com/tarantool/tarantool/issues/1082
[4] https://github.com/tarantool/tarantool/commits/dv/wal-gc-fixes

Vladimir Davydov (6):
  vclock: allow to use const vclock as search key
  engine: pass vclock instead of lsn to collect_garbage callback
  box: do not rotate WAL when replica subscribes
  box: use replicaset.vclock in replica join/subscribe
  wal: separate checkpoint and flush paths
  wal: remove files needed for recovery from backup checkpoints on
    ENOSPC

 src/box/box.cc                                     |  45 +++---
 src/box/engine.c                                   |   9 +-
 src/box/engine.h                                   |   9 +-
 src/box/gc.c                                       |  22 +--
 src/box/gc.h                                       |  14 --
 src/box/memtx_engine.c                             |   5 +-
 src/box/vclock.c                                   |   4 +-
 src/box/vclock.h                                   |   5 +-
 src/box/vinyl.c                                    |  14 +-
 src/box/vy_log.c                                   |  36 ++---
 src/box/vy_log.h                                   |   4 +-
 src/box/wal.c                                      | 171 ++++++++++++---------
 src/box/wal.h                                      |  34 ++--
 test/replication/gc.result                         |   8 +-
 test/replication/gc.test.lua                       |   6 +-
 test/replication/gc_no_space.result                |  51 +++++-
 test/replication/gc_no_space.test.lua              |  27 +++-
 test/replication/show_error_on_disconnect.result   |  12 +-
 test/replication/show_error_on_disconnect.test.lua |  10 +-
 test/replication/sync.result                       |  37 +++++
 test/replication/sync.test.lua                     |  12 ++
 21 files changed, 326 insertions(+), 209 deletions(-)

-- 
2.11.0




More information about the Tarantool-patches mailing list