[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