[Tarantool-patches] [PATCH v2 04/10] replication: track registered replica count

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Tue Sep 8 01:54:57 MSK 2020


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 {
 		/**


More information about the Tarantool-patches mailing list