From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 27 Jun 2018 21:24:47 +0300 From: Konstantin Osipov Subject: Re: [PATCH 6/6] Introduce replica local spaces Message-ID: <20180627182447.GK28358@chai> References: <22474f0135864e15bb4aa2aed19662b7911aa225.1528906027.git.vdavydov.dev@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <22474f0135864e15bb4aa2aed19662b7911aa225.1528906027.git.vdavydov.dev@gmail.com> To: Vladimir Davydov Cc: tarantool-patches@freelists.org List-ID: * Vladimir Davydov [18/06/13 20:40]: > This patch introduces a new space option, is_local, which if specified > on space creation will render all changes done locally to the space > invisible to other replicas. The option can only be set on space > creation and cannot be altered. > > Technically, to support this feature, we introduce a new header flag, > IPROTO_IS_LOCAL, which is set for all rows corresponding to replica > local spaces both in xlog and in snap. Relay won't send snapshot rows > that are marked local. As for xlog rows, it will transform them to > IPROTO_NOP so as to promote vclock on the replica without doing any > actual data modification. > > The feature is currently supported for memtx spaces only, but it should > be easy to implement it for vinyl spaces as well. The patch overall LGTM, except is_local in xrow should be a number instead for replication group. The following group identifiers should be reserved: 0 - the default replication group, entire cluster 1 - local space. 2 - shard-local space. -- Konstantin Osipov, Moscow, Russia, +7 903 626 22 32 http://tarantool.io - www.twitter.com/kostja_osipov