Zookeeper hard
A client connects to an Observer and establishes a 'Local Session'. What happens if this client tries to create an Ephemeral Node?
- A The creation fails.
- B The Local Session is automatically upgraded to a Global Session. The Leader starts tracking it, and the session creation is persisted to the transaction log.
- C The node is created locally on the Observer only.
- D The Observer crashes.
Answer: B. The Local Session is automatically upgraded to a Global Session. The Leader starts tracking it, and the session creation is persisted to the transaction log.
Local sessions are an optimization to keep heartbeat traffic off the Leader. However, Ephemeral nodes *must* be global (consensus required on ownership). ZK handles this promotion transparently.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is the primary technical function of a ZooKeeper 'Watch'?
- A system administrator increases `jute.maxbuffer` to 5MB on every ZooKeeper server to store large configuration objects. However, write operations larger than 1MB still fail. What is the most likely cause?
- By default, `forceSync` is enabled. If you disable it, what trade-off are you making?
- If the specific ZooKeeper node a client is connected to crashes, what should the client do?
- Which cluster configuration has *worse* availability: A 3-node cluster or a 4-node cluster? (Assuming simple majority quorum)
- According to the CAP Theorem, how is ZooKeeper classified?