upvote
It's an insight from Heidi Howard et al. that came out after VSR: https://arxiv.org/abs/1608.06696 and can be applied to VSR (and others).

The basic idea is pretty simple. In VSR, there are two main phases:

1. Leader election

2. Normal replication / request processing

Before Heidi Howard’s insight, these two phases typically used the same quorum size - for example, 4 out of 6 replicas.

The key observation was that the two phases can actually use different quorum sizes, as long as the relevant quorums still intersect.

With 6 replicas, we could use a quorum of 4 for view change and a quorum of 3 for normal processing, because 4+3>6. This guarantees that every view-change quorum intersects every processing quorum. Therefore, if an operation was committed by a processing quorum, at least one replica participating in the subsequent view change knows about that operation. Combined with the protocol's view-change/log-selection rules, this ensures that committed operations are preserved when the new leader takes over.

If this interests you, Heidi gave a talk about this at systems distributed: https://youtu.be/P0cAG-RM1_c which will be released soon.

reply