Overview
Hinted handoff is a write-availability technique from Dynamo, used by Cassandra and Riak. A healthy node temporarily accepts a write meant for a down replica and forwards it later. It smooths over brief failures without immediate repair.
How it works
key k -> replicas A, B, C ; C is down
write k=v: A ok, B ok, D stores (k, v, hint: C)
...C returns...
D detects C alive, replays (k, v) to C, deletes hint
The coordinator counts a hinted write toward its write quorum when using a sloppy quorum, so the client sees success. Hints are stored in a dedicated structure with a target id and timestamp. Replay is throttled, and a maximum hint window, for example three hours in Cassandra by default, bounds storage.
Pitfalls
- Hints do not restore the strict quorum overlap: a read at quorum can miss a write whose copies are on A and a hinting node outside the read set.
- If the hint holder crashes before replay, that copy is lost; durability relies on the remaining real replicas.
- Long outages exceed the window, so a node returning after that must be repaired with anti-entropy or rebuilt.
- Unbounded hints can fill disks during large failures; cap and monitor them.
- Replaying many hints at once can saturate the recovered node; throttle delivery.
Key takeaways
- Hinted handoff trades read consistency for write availability.
- It handles short outages; anti-entropy handles everything else.
- Bound hint retention, monitor backlog and throttle replay.