The QuorumIntersectionChecker
has a getPotentialSplit
function. It doesn't seem to be documented.
I've tried to use it while experimenting with various quorum configuration. Here is one such configuration:
n0: QuorumConfig(thresh: 3, nodes: ["n0", "n6", "n7"])
n1: QuorumConfig(thresh: 3, nodes: ["n1", "n6", "n7"])
n2: QuorumConfig(thresh: 3, nodes: ["n2", "n6", "n7"])
n3: QuorumConfig(thresh: 3, nodes: ["n3", "n5", "n6", "n7"])
n4: QuorumConfig(thresh: 3, nodes: ["n3", "n4", "n6", "n7"])
n5: QuorumConfig(thresh: 3, nodes: ["n4", "n5", "n7"])
n6: QuorumConfig(thresh: 2, nodes: ["n6", "n7"])
n7: QuorumConfig(thresh: 2, nodes: ["n6", "n7"])
In this case getPotentialSplit
returns: Splits: first: [] second: [n6, n7]
.
I'm trying to understand the return value of getPotentialSplit
and why in this configuration n6
and n6
can cause a "potential split". What exactly does it mean that there is a potential split?