Option to prohibit a non-voting member from becoming a sync source of a voting member
Hi,
Our proposition in a few words: add a replica set option to allow chained replication but with the following exception: a non-voting member cannot become a sync source of a voting member under any circumstance.
This proposition would allow chained replication for clusters having both w=majority writes and analytics nodes.
Right now, those clusters cannot safely enable chained replication, because under some circumstances, the non-voting analytics member may become the first secondary in a serial chain of replication. In that case, this node[*] slows down the replication process for all downstream secondaries. Higher replication lag translates to extremely slow w=majority writes (see case 00726662).
Alternative proposition: adding a per-node option to forbid a non-electable node from becoming a sync source.
Best Regards,
Sylvain,
Bouygues Telecom
[*] analytics node is typically slower than the other nodes: because it is constantly under heavy load of analytics queries, or because it is a slower VM, or both