Consistent Hashing medium
During a network partition, a Consistent Hashing cluster splits into two. Clients write to different nodes for the same key. What happens when the network heals?
- A The cluster enters a permanent crash state and requires a full manual restore from a backup to reconcile the databases.
- B Any data stored on the minority side of the partition is deemed invalid and is automatically purged upon network recovery.
- C Hardware-level distributed locks prevent any new write operations from being accepted until the network is fully stabilized.
- D The system must resolve the 'Split Brain' using conflict resolution strategies like Read Repair or Hinted Handoff replays.
Answer: D. The system must resolve the 'Split Brain' using conflict resolution strategies like Read Repair or Hinted Handoff replays.
Consistent Hashing clusters (especially AP ones) favor Availability during a partition. This means different users might successfully write different values for the same key to different sides of the network split. Once the partition heals, the system uses 'Anti-Entropy' mechanisms (like Merkle Trees or vector clocks) to detect these differences and synchronize the replicas to a single consistent version.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- In a 'Smart Client' architecture (e.g., modern Cassandra drivers), how does the client find the right node?
- When a new node (Node X) joins the ring, where does it acquire its initial data from?
- Google's Maglev hashing algorithm (used in their Network Load Balancers) differs from standard Consistent Hashing rings. How does it generate the lookup table?
- Virtual Nodes improve balance but increase metadata size (Memory). How does 'Multi-Probe Consistent Hashing' achieve good balance without VNodes?
- In the Chord DHT protocol (a P2P consistent hashing implementation), naive lookups are O(N). How does Chord optimize this to O(log N)?
- Which of these systems is a famous user of Consistent Hashing?