Re:Apple open-sources FoundationDB
by jtchang on Thursday April 19, 2018 @02:15PM
(#16878476)
I just watched the demo of 5 machines and 2 getting unplugged. The remaining 3 can form a quorum. What happens if it was 3 and 3? Do they both form quorums?
[ Parent
| on HN ]
A subset of the processes in a FoundationDB cluster have the job of maintaining coordination state (via disk Paxos).
In any partition situation, if one of the partitions contains a majority of the coordinators then it will stay live, while minority partitions become unavailable.
Nitpick: To be fully live, a partition needs a majority of the coordinators and at least one replica of each piece of data (if you don't have any replicas of something unimportant, you might be able to get some work done, but if you have coordinators and nothing else in a partition you aren't going to be making progress)
Re:Apple open-sources FoundationDB
by jamesblonde on Thursday April 19, 2018 @03:27PM
(#16879230)
The arbitrator pattern is a great lightweight solution to the split-brain problem. Here's a great blog about it:
http://messagepassing.blogspot.se/2012/03/cap-theorem-and-my...
What if the number of boxes are even?
Or do you get around this by not deploying an uneven number of boxes?
The majority is always N/2 + 1, where N is the number of members. A 6 member is less fault-tolerant than a 5 member cluster (quorum is 4 nodes instead of 3, and it still only allows for 2 nodes to fail).
The number of coordinators is separate from the number of boxes. You don't have to have a coordinator on every box.
I think you can set the number of coordinators to be even, but you never should - the fault tolerance will be strictly better if you decrease it by one.
This makes me wonder also what happens with multiple partitions, for example:
5 into 2, 2, and 1
7 into 3, 2, and 2