CONCEPT Cited by 1 source
Soft leader election¶
Soft leader election designates one pod as the coordinator for a given key by routing affinity — if all requests for a key land on the same pod, that pod is the de facto leader — without running a consensus protocol (Paxos / Raft / ZooKeeper). It's a byproduct of any sharding scheme that provides key-to-pod affinity.
The trade-off vs hard leader election¶
| Soft | Hard (consensus) | |
|---|---|---|
| Exclusive ownership | ❌ transient double-owner possible during transitions | ✅ guaranteed by protocol |
| Overhead | ~0 (it's just routing) | protocol round-trips, quorum writes |
| Failover speed | shard-controller push speed | consensus election time |
| Correctness on contended writes | needs idempotent / commutative ops | intrinsically serialized |
Soft leader election is "cheap, mostly-right, rely on affinity"; hard leader election is "expensive, actually-right, rely on protocol."
When it's good enough¶
- Operations are idempotent or commutative — a brief double-owner doesn't corrupt state.
- Coordination cost of Paxos/Raft per key is prohibitive (millions of keys, short-lived workloads).
- Use case is affinity more than mutual exclusion — serving scheduler coordinating a resource group, request-level rendezvous between two clients.
When it isn't¶
- Exclusive-lock workloads (exactly-once job dispatch, exclusive write semantics, distributed transactions).
- Correctness depends on single-writer ordering.
In Dicer¶
systems/dicer provides soft leader election as one of its named use cases (Source: sources/2026-01-13-databricks-open-sourcing-dicer-auto-sharder): a pod designated primary coordinator for a key/shard by its assignment. The paper explicitly acknowledges this is affinity-based, not mutually exclusive, and names stronger mutual-exclusion guarantees as future work.
Seen in¶
- sources/2026-01-13-databricks-open-sourcing-dicer-auto-sharder — Dicer names soft leader selection as a first-class use case; scoping statement ("currently provides affinity-based leader selection") calls out the limitation.