4 ms·
Do you use vector chains or partially ordered sets etc. to detect or prevent split-brain? e.g. The first replica fails, and the second keeps writing, then the
by jorangreef 8y ago
Do you use vector chains or partially ordered sets etc. to detect or prevent split-brain?
e.g. The first replica fails, and the second keeps writing, then the second fails and the first recovers. The second never recovers.
Without vector chains, the user would never be made aware that data was lost on the second replica. Or if the second replica recovers, data might be lost when merged.
- londons_explore 8y agoIn your example, the disk is entirely read-only I think. I would guess the state of each disk replica (HEALTHY, UNHEALTHY) is stored in a master elected data store. Anytime a write to one replica fails, the data store must be updated to change the state of the failed replica before considering the write complete. Then to change the state back to HEALTHY, everything must be online and fully re-replicated. If the master elected state store can't be written to, because (due to a network split) it doesn't have sufficient votes to gain mastership, then no writes can occur.