From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 11 Feb 2019 17:10:59 +0300 From: Vladimir Davydov Subject: Re: [PATCH v2] box: enable WAL before making initial checkpoint Message-ID: <20190211141059.fiflyepnz6olxjna@esperanza> References: <504138963321d4795b577d73f86e013fde9090b8.1549644534.git.vdavydov.dev@gmail.com> <20190211124156.GB20767@chai> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190211124156.GB20767@chai> To: Konstantin Osipov Cc: tarantool-patches@freelists.org List-ID: On Mon, Feb 11, 2019 at 03:41:56PM +0300, Konstantin Osipov wrote: > * Vladimir Davydov [19/02/11 15:34]: > > While a replica is bootstrapped from a remote master, vinyl engine > > may need to perform compaction, which means that it may write to > > the _vinyl_deferred_delete system space. Compaction proceeds fully > > asynchronously, i.e. a write may occur after the join stage is > > complete, but before the WAL is initialized, in which case the new > > replica will crash. To make sure a race like that won't happen, let's > > setup WAL before making the initial checkpoint. The WAL writer is now > > initialized right before starting the WAL thread and so we don't need > > to split WAL struct into the thread and the writer anymore. > > > > Closes #3968 > > OK to push. Pushed to 2.1 and 1.10.