Kurt D. Zeilenga wrote:
We can guarantee "read your writes" consistency with the help of a tweaked chaining overlay. I.e.,
- the client issues a write request to a slave
- the slave chains the request to the master
- when the chained write succeeds, the slave performs the write locally
- the response is returned to the client
Another approach is to simply chain reads of any updater. This approach suffers from disconnect issues (unless the service has a long memory).
Ah, yes... We could simply maintain a queue of recent updates. Accesses to any entry whose DN is in the queue get chained back to the master. Once the corresponding update is received from the master the DN can be dropped from the queue. Of course chaining reads would place additional load on the master.