From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [tarantool-patches] [PATCH v2 4/4] Introduce replica local spaces References: <76b274d93aaf726501cfb0f26af4915936c12592.1531150617.git.vdavydov.dev@gmail.com> From: Vladislav Shpilevoy Message-ID: Date: Mon, 9 Jul 2018 21:05:23 +0300 MIME-Version: 1.0 In-Reply-To: <76b274d93aaf726501cfb0f26af4915936c12592.1531150617.git.vdavydov.dev@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit To: tarantool-patches@freelists.org, Vladimir Davydov , kostja@tarantool.org List-ID: On 09/07/2018 18:40, Vladimir Davydov wrote: > This patch introduces a new space option, group_id, which defines how > the space is replicated. If it is 0 (default), the space is replicated > throughout the entire cluster. If it is 1, the space is replica local, > i.e. all changes made to it are invisible to other replicas in the > cluster. Currently, no other value is permitted, but in future we will > use this option for setting up arbitrary replication groups in a > cluster. The option can only be set on space creation and cannot be > altered. > > Technically, to support this feature, we introduce a new header key, > IPROTO_GROUP_ID, which is set to the space group id for all rows > corresponding to a space, both in xlog and in snap. Relay won't send > snapshot rows whose group_id is 1. As for xlog rows, they are > transformed to IPROTO_NOP so as to promote vclock on replicas without > 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. > > @TarantoolBot document > Title: Document new space option - group_id > Group identifier defines how the space is replicated. Currently, only > two values are permitted: 0 and 1. If space.group_id is 0, changes made > to the space are replicated throughout the entire cluster. If it is 1, > then the space is replica local, i.e. changes made to it are invisible > to other replicas in the cluster. Please, put the doc request after 'Closes'. The request must be at the very end of the commit message. > > Closes #3443 > ---