From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (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 8254F44643B for ; Tue, 8 Sep 2020 01:54:58 +0300 (MSK) References: <78668e078bb8298ad2b88b029fb9d0c5f475956d.1599173312.git.v.shpilevoy@tarantool.org> From: Vladislav Shpilevoy Message-ID: Date: Tue, 8 Sep 2020 00:54:57 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [Tarantool-patches] [PATCH v2 04/10] replication: track registered replica count List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Serge Petrenko , tarantool-patches@dev.tarantool.org, gorcunov@gmail.com Thanks for the review! >> diff --git a/src/box/replication.h b/src/box/replication.h >> index ddc2bddf4..69cc820c9 100644 >> --- a/src/box/replication.h >> +++ b/src/box/replication.h >> @@ -217,6 +217,13 @@ struct replicaset { >>       bool is_joining; >>       /* A number of anonymous replicas following this instance. */ >>       int anon_count; >> +    /** >> +     * Number of registered replicas. That includes all of them - connected, >> +     * disconnected, connected not directly, just present in _cluster. If an >> +     * instance has an ID, has the same replicaset UUID, then it is >> +     * accounted here. >> +     */ >> +    int size; > > We already have `anon_count`. Maybe call this field `registered_count` for consistency? > Besides `size` is too general of a term. Agree. ==================== diff --git a/src/box/replication.cc b/src/box/replication.cc index 20f16206a..6852026c8 100644 --- a/src/box/replication.cc +++ b/src/box/replication.cc @@ -247,7 +247,7 @@ replica_set_id(struct replica *replica, uint32_t replica_id) tt_uuid_str(&replica->uuid)); } replicaset.replica_by_id[replica_id] = replica; - ++replicaset.size; + ++replicaset.registered_count; say_info("assigned id %d to replica %s", replica->id, tt_uuid_str(&replica->uuid)); @@ -268,8 +268,8 @@ replica_clear_id(struct replica *replica) * replication. */ replicaset.replica_by_id[replica->id] = NULL; - assert(replicaset.size > 0); - --replicaset.size; + assert(replicaset.registered_count > 0); + --replicaset.registered_count; if (replica->id == instance_id) { /* See replica_check_id(). */ assert(replicaset.is_joining); diff --git a/src/box/replication.h b/src/box/replication.h index 69cc820c9..3e46c592a 100644 --- a/src/box/replication.h +++ b/src/box/replication.h @@ -223,7 +223,7 @@ struct replicaset { * instance has an ID, has the same replicaset UUID, then it is * accounted here. */ - int size; + int registered_count; /** Applier state. */ struct { /**