Replica Set Elections - Voting Members documentation

Hi,
In this docs paragraph: https://docs.mongodb.com/manual/core/replica-set-elections/#voting-members
It’s written:

I think these two list items are the same.

Thanks,
Rafael,

Hi @Rafael_Green,

Thank you for the feedback! These items are related but not identical, and the mix of positive & negative makes the pair harder to parse.

I think the second item would be clearer as:

  • All members eligible to become primary (with priority greater than 0) must also be voting (votes set to 1).

I would add an additional item to clarify behaviour:

  • A voting member will participate in elections even if it is not eligible to become primary.

What do you think of my suggested improvements?

Regards,
Stennie

1 Like

Thanks for your response @Stennie,
I still think that both statements are equivalent.
assuming votes >= 0 and priority >= 0
in logic (where “⇒” is the sign for implies)
these two statements are equivalent: (see the second equivalence here)

  • non-voting ⇒ unelectable
  • electable ⇒ voting

or similarly:

  • votes = 0 ⇒ priority = 0
  • priority != 0 ⇒ votes != 0

how to infer the second statement using the first one:

  1. let m be an electable member.
  2. let’s assume by contradiction that m is non-voting.
  3. by the first statement, m is unelectable which gives us a contradiction to 1 (we chose m to be electable).
  4. hence, m is voting.

Thanks,
Rafael,