From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 19 Aug 2019 19:54:10 +0300 From: Vladimir Davydov Subject: Re: [PATCH v2 0/7] Join replicas off the current read view Message-ID: <20190819165410.GP13834@esperanza> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: tarantool-patches@freelists.org List-ID: 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