From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp53.i.mail.ru (smtp53.i.mail.ru [94.100.177.113]) (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 A419546970E for ; Sun, 22 Dec 2019 20:58:40 +0300 (MSK) References: From: Vladislav Shpilevoy Message-ID: <82585d68-692f-9573-5315-85297602920e@tarantool.org> Date: Sun, 22 Dec 2019 18:58:37 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH 1/5] box: update comment describing join protocol List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sergepetrenko , georgy@tarantool.org Cc: tarantool-patches@dev.tarantool.org Thanks for the patch! See 1 question below. On 15/12/2019 21:58, sergepetrenko wrote: > From: Serge Petrenko > > The comment states that relay sends the latest snapshot to replica > during initial join, however, this was changed in commit > 6332aca655ae7f95d391bdc0109e79915f6e6ad0 (relay: join new replicas off > read view). > Now relay sends rows from the read view created at the moment of join. > Update the comment to match. > > Follow-up #1271 > --- > src/box/box.cc | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/src/box/box.cc b/src/box/box.cc > index b119c927b..76fe0d534 100644 > --- a/src/box/box.cc > +++ b/src/box/box.cc > @@ -1391,13 +1391,14 @@ box_process_join(struct ev_io *io, struct xrow_header *header) > * => JOIN { INSTANCE_UUID: replica_uuid } > * <= OK { VCLOCK: start_vclock } > * Replica has enough permissions and master is ready for JOIN. > - * - start_vclock - vclock of the latest master's checkpoint. > + * - start_vclock - master's vclock at the time of join. > * > * <= INSERT > * ... > * Initial data: a stream of engine-specifc rows, e.g. snapshot > - * rows for memtx or dirty cursor data for Vinyl. Engine can > - * use REPLICA_ID, LSN and other fields for internal purposes. > + * rows for memtx or dirty cursor data for Vinyl fed from a read-view. > + * Engine can use REPLICA_ID, LSN and other fields for internal > + * purposes. Rule of 66's ship has already sailed here, but lets at least keep it in 80. Also I have a question about what are the internal purposes? I really don't know. From what I see in the next commits, purposes of REPLICA_ID and LSN didn't change in this patchset. > * ... > * <= INSERT > * <= OK { VCLOCK: stop_vclock } - end of initial JOIN stage. >