Questions: Network Partition Tolerance and Split-Brain
5 questions to test your understanding
Score: 0 / 5
Question 1 Multiple Choice
A distributed banking system processes fund transfers across two data centers. A network partition splits the centers. What should the system do with incoming transfer requests on the minority-side data center?
AProcess transfers normally on both sides to preserve availability, then reconcile after healing
BReject transfer requests on the minority side rather than risk inconsistent account balances
CQueue all requests and replay them in timestamp order once the partition heals
DIncrease the replication factor so that split-brain conditions become impossible
Bank transfers require strong consistency — an incorrect balance is worse than a momentary unavailability. A CP design sacrifices availability on the minority partition (refusing operations that can't be coordinated) to prevent conflicting writes. Option A describes an AP approach appropriate for tolerant use cases but dangerous for financial data. Option D misunderstands the CAP theorem: replication does not eliminate partitions; it only changes which side has quorum.
Question 2 Multiple Choice
A shopping cart application lets users add items across multiple data centers. During a partition, both sides accept additions independently. When the partition heals, both versions of the cart exist. What design correctly handles this?
ACP design: reject all cart writes during the partition so no conflict can arise
BAP design: allow both sides to accept writes and merge cart contents after healing
CPrevent partitions by using stronger consistency guarantees across the WAN link
DUse a consensus protocol so that only the leader data center accepts writes
Shopping carts tolerate a specific kind of inconsistency — merging two versions of a cart (adding all items from both) is acceptable. An AP design accepts writes on both sides during the partition and resolves conflicts (e.g., union of both carts) at heal time. This is the correct tradeoff for this use case. Option A sacrifices availability unnecessarily; Options C and D cannot eliminate partitions and would block writes on the non-leader side in any case.
Question 3 True / False
The CAP theorem implies that a distributed system can be made partition-tolerant, but choosing partition tolerance forces a tradeoff between consistency and availability during the partition itself.
TTrue
FFalse
Answer: True
Partition tolerance in CAP means the system continues to operate even when the network splits — it does not stop entirely. But once a partition occurs and the system must keep serving, it faces a forced choice: maintain consistency (CP, refuse inconsistent operations on the minority side) or maintain availability (AP, serve both sides and risk divergent state). You cannot have both during an active partition.
Question 4 True / False
A CP system that refuses writes during a network partition is less partition-tolerant than an AP system, because it stops serving requests on part of the network.
TTrue
FFalse
Answer: False
Both CP and AP systems are 'partition-tolerant' in the CAP sense — they both continue operating during a partition rather than shutting down entirely. 'Partition tolerant' means the system makes a coherent choice when a partition occurs, not that it serves all requests identically. A CP system's choice is to refuse inconsistent operations on the minority side (trading availability for correctness); an AP system's choice is to serve both sides and accept temporary inconsistency. Neither is 'more partition-tolerant' — they make different tradeoffs.
Question 5 Short Answer
Explain what 'partition tolerance' actually means in the CAP theorem, and describe what a distributed system is really choosing between when it picks CP vs. AP.
Think about your answer, then reveal below.
Model answer: Partition tolerance means the system continues to function (rather than halting entirely) even when the network splits into isolated components. It is not a guarantee that partitions are prevented — they aren't. When a partition occurs, the system must choose: a CP system prioritizes consistency by refusing operations that cannot be safely coordinated (the minority side goes unavailable), preventing divergent state at the cost of some requests being rejected. An AP system prioritizes availability by serving all requests on both sides, accepting that the two halves may diverge and must be reconciled when connectivity is restored.
The key insight is that partitions are inevitable in any real distributed system. The design question is not 'how do we prevent split-brain' but 'what kind of incorrectness is acceptable for our specific application?' Different operations within the same system may warrant different answers — leading to hybrid CP/AP designs.