When one of the natural replicas for a key is unreachable, a quorum store does not have to fail the write. The node accepting the write durably records a hint — target replica, key, mutation, version metadata, and expiry — then acknowledges the client under the configured consistency rule. The hint is the outstanding debt. When the target recovers, the holder replays the mutation idempotently, and the target resolves it with the database's normal version/conflict rules. Availability rises; replicas are allowed to temporarily diverge, and the system converges later.
Target replica, key, value/mutation, version metadata, expiry. In Cassandra it is stored on the coordinator; a Dynamo-style sloppy quorum can tag a write to another healthy node instead.
The client gets success as soon as the write-consistency rule is satisfied (e.g. 2 of 3) — before every natural replica has stored it.
On recovery the holder re-sends the mutation; the target applies it via normal versioning. The hint is deleted only after the target acknowledges.
Hints can expire, be lost with their holder, arrive out of order, or pile up in a long outage. Anti-entropy repair and read repair are what actually guarantee convergence.
Kill C, issue timestamped writes, and watch the client's acknowledgement rule hold while A and B hold the data. Restore C and measure the replay lag. Now run the outage longer than the maximum hint window, and fail the hint holder too — the replicas that never received the mutation only converge if repair, not hints, did the work.
Note the scope: hinted handoff supports eventual convergence — it does not by itself ensure eventual consistency. Gossip is one way a system may notice recovery, not part of the definition.