Distributed Lock Service · View 09 of 26 · 3 · Structure
Decisions
- A key with no matching class is refused. There is no default class, because a default class is where an unreviewed correctness lock ends up.
- Coarse locks, leader election and control-plane singletons, live on a five-member coord cluster that entity churn cannot touch. Entity locks live on three-member shards sized for write throughput.
- Entity keys are homed by rendezvous hashing on the namespace and path prefix. Adding a shard moves only the keys that hash to it, and each move is fenced by an epoch advance on the destination.
Why routing lives in configuration
- The requirement warns that a routing rule between two clusters will eventually be got wrong. Putting the tier on the class makes the owner decide once, in review, rather than every caller deciding on every request.
Risks
- A class moved from entity tier to coord tier is a rehome, not a relabel. The class controller refuses the change while any key under the prefix is held.