[Tarantool-patches] [PATCH v2 3/4] replication: add is_anon flag to ballot

Serge Petrenko sergepetrenko at tarantool.org
Wed Sep 16 13:59:43 MSK 2020


16.09.2020 00:22, Vladislav Shpilevoy пишет:
> Thanks for the review!
>
>>> diff --git a/src/box/replication.cc b/src/box/replication.cc
>>> index ef0e2411d..8408f395e 100644
>>> --- a/src/box/replication.cc
>>> +++ b/src/box/replication.cc
>>> @@ -290,6 +290,8 @@ replica_clear_id(struct replica *replica)
>>>        }
>>>        if (replica_is_orphan(replica)) {
>>>            replica_hash_remove(&replicaset.hash, replica);
>>> +        replicaset.anon_count -= replica->anon;
>>> +        assert(replicaset.anon_count >= 0);
>> replica_clear_id() is only called on _cluster entry deletion.
>> So you're surely working with a normal replica, not anonymous.
>>
>> We may add an assset(!replica->anon) somewhere.
> Indeed:
>
> ====================
> diff --git a/src/box/replication.cc b/src/box/replication.cc
> index 8408f395e..c1fcdb660 100644
> --- a/src/box/replication.cc
> +++ b/src/box/replication.cc
> @@ -290,8 +290,11 @@ replica_clear_id(struct replica *replica)
>   	}
>   	if (replica_is_orphan(replica)) {
>   		replica_hash_remove(&replicaset.hash, replica);
> -		replicaset.anon_count -= replica->anon;
> -		assert(replicaset.anon_count >= 0);
> +		/*
> +		 * The replica had an ID, it couldn't be anon by
> +		 * definition.
> +		 */
> +		assert(!replica->anon);
>   		replica_delete(replica);
>   	}
>   }
Thanks  for your answert!
Now LGTM.

-- 
Serge Petrenko



More information about the Tarantool-patches mailing list