Reconciling Concurrent Writes

J T jt4websites at
Tue Feb 23 19:04:14 EST 2010


I'm trying to get my head around concurrent updates in riak.

Lets assume we have a single document in a bucket, that contains a list of

Lets also assume, that we have two clients A and B, both of which GET the
current version of the document at around the same time.

Client A then removes a term from the list in the document and then writes
the document back.
Client B also removes a term from the list in the document and writes it

A subsequent Client C, reads the document and is given back two versions of
the document and has to somehow reconcile the differences.

My question is how you might go about reconciling.

It could be that both versions have valid changes and the version C needs to
work with would in fact have both terms removed from the list.

Given that the document object associated with a key is opaque to riak (i
think), I can understand why riak can't try and resolve the situation.

I've had a read of the dynamo paper but it didn't make things any clearer
for me.

I also spotted the 'read your writes' comment in the riak paper but it
didn't make any sense to me.

I'd appreciate some pointers on best practices for dealing with this.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the riak-users mailing list