From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 0/6] WAL garbage collection and checkpointing fixes Date: Sun, 25 Nov 2018 16:48:07 +0300 Message-Id: To: kostja@tarantool.org Cc: tarantool-patches@freelists.org List-ID: 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