[PATCH v2 0/7] Join replicas off the current read view

Vladimir Davydov vdavydov.dev at gmail.com
Mon Aug 19 19:54:10 MSK 2019


On Mon, Aug 19, 2019 at 07:53:13PM +0300, Vladimir Davydov wrote:
> Currently, we join replicas off the last checkpoint. As a result, we
> must keep all files corresponding to the last checkpoint. This means
> that we must always create a memtx snapshot file on initial call to
> box.cfg() even though it is virtually the same for all instances.
> Besides, we must rotate the vylog file synchronously with snapshot
> creation, otherwise we wouldn't be able to pull all vinyl files
> corresponding to the last checkpoint. This interconnection between
> vylog and xlog makes the code difficult to maintain.
> 
> Actually, nothing prevents us from relaying the current read view
> instead of the last checkpoint on initial join, as both memtx and
> vinyl support a consistent read view. This patch does the trick.
> This is a step towards making vylog independent of checkpointing
> and WAL.
> 
> https://github.com/tarantool/tarantool/issues/1271
> https://github.com/tarantool/tarantool/issues/4417
> https://github.com/tarantool/tarantool/commits/dv/gh-1271-rework-replica-join
> 
> Changes in v2:
>  - Commit preparatory patches approved by Kostja and rebase on
>    the latest master branch.
>  - Fix the issue with box.on_schema_init and space.before_replace
>    instead of disabling the test (see #4417).

v1 can be found here:

https://www.freelists.org/post/tarantool-patches/PATCH-0013-Join-replicas-off-the-current-read-view



More information about the Tarantool-patches mailing list