From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp58.i.mail.ru (smtp58.i.mail.ru [217.69.128.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id DB68746970E for ; Mon, 30 Dec 2019 08:12:25 +0300 (MSK) Date: Mon, 30 Dec 2019 08:12:23 +0300 From: Kirill Yukhin Message-ID: <20191230051223.3ovqiu42qzhlr3vw@tarantool.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [Tarantool-patches] [PATCH v2 0/5] introduce anonymous replicas List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sergepetrenko Cc: v.shpilevoy@tarantool.org, tarantool-patches@dev.tarantool.org Hello, On 25 дек 15:46, sergepetrenko wrote: > https://github.com/tarantool/tarantool/tree/sp/gh-3186-anon-replica > https://github.com/tarantool/tarantool/issues/3186 > > The first patch alters the comment regarding join protocol > to be in sync with latest changes: join isn't done off a snapshot, > but from a read-view rather, created at the moment the request is received. > > The second patch removes unnecessary decoding of replicaset uuid on > master side, since master just ignores it now. > > The third patch is a preparation for anonymous replica. We need to split join > protocol into two stages: first, fetch a snapshot. This is done by both anonymous > and regular replicas. The second stage is registration, i. e. the addition of > replica to _cluster table. It is done right away when joining a regular replica, > or it can be done by a request from an anonymous replica to transition it to > normal one. > The patch itself just splits applier join into appropriate stages. > > The fourth patch modifies vclock logic to ignore 0 component in comparisons. > This is also used by anonymous replicas, which will be the first users of the > 0-th vclock component. This component will be used to keep track of anonymous > replica local changes, which are not replicated. These local changes will vary > from instance to instance, and the anonymous instances will all use 0th component > to track them, so no need to compare this component. > > The fifth patch does the main job of adding anonymous replicas. > New requests, FETCH_SNAPSHOT and REGISTER are introduced. Anonymous replicas > are allowed to have a 0 id. They aren't registered as gc consumers and aren't > present in _cluster table. > > Changes in v2: > - review fixes as per reviews from > Georgy Kirichenko and Vlad Shpilevoy. I've checked your patchset into master. -- Regards, Kirill Yukhin