Commit 554685f
Update is_data_replica to include non-voting participants
Summary:
This change updates `is_data_replica/2` to correctly identify all participants that receive data replication, including both voting members and non-voting participants.
Previously, `is_data_replica/2` only checked the membership list (voting members: full members + witnesses), which excluded non-voting participants that also receive data replication. The function now checks the participants list instead, which includes all nodes that participate in the cluster.
The new implementation defines data replicas as all participants except witnesses, which correctly includes:
- Full members (voting + data replication)
- Non-voting participants (no voting + data replication)
While excluding witnesses (voting + no data replication).
This aligns with the RAFT configuration model where:
- Participants = all cluster nodes (voting members + non-voting participants)
- Membership = voting members only (full members + witnesses)
- Data replicas = participants that receive replication (participants - witnesses)
Reviewed By: hsun324
Differential Revision: D87658062
fbshipit-source-id: 17ad5b8ffc2a0facc660d0ee9c1e11412a1046fb1 parent 56f3cdf commit 554685f
1 file changed
+4
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
| 392 | + | |
| 393 | + | |
398 | 394 | | |
399 | 395 | | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
| 396 | + | |
| 397 | + | |
404 | 398 | | |
405 | 399 | | |
406 | 400 | | |
| |||
0 commit comments