Manuel,

what you're seeing is not specific to links, it's generally how concurrent 
updates to a single object are handled in Riak, links are no exception. If you 
want to handle that properly you need to enable the allow_mult property on the 
bucket in question.

Now, whenever two clients update the same object based on the same origin (i.e. 
vector clock) they'll cause siblings to be created. The next time you fetch the 
object you'll get both siblings and you can then reconcile the difference, e.g. 
merging all links together, checking if they're still valid, etc., and then 
store back the updated value using the vector clock you got when requesting the 
object including the siblings.

We have wiki page [1] dedicated to vector clocks and conflict resolution, 
explaining the process in more detail.

Mathias Meyer
Developer Advocate, Basho Technologies

[1] 

On Mittwoch, 22. Juni 2011 at 11:14, Manuel Astudillo wrote:

> 
> Hello,
> 
> 
> Probably I have some miss understating on whats the best way to update links 
> in Riak, but I am wondering if you know about this hazard when updating links:
> 
> 
> client A: getLinks(X)
> client B: getLinks(X)
> 
> 
> clientB:updateLinks(X)
> clientA:updateLinks(X)
> 
> 
> where the update made by B is cleaned by A, and it seems like there is not 
> even any way to get a notification about it or detect it somehow... 
> 
> 
> 
> Manuel Astudillo, M.Sc.C.E
> Chief Executive Officer, founder.
> 
> Optimal Bits
> Skolskeppsgatan 26
> SE-23443, Lomma, Sweden.
> mobile:+46 (0) 733 329536
> @optimalbits
> 
> www.optimalbits.com (http://www.optimalbits.com)
> 
> 
> 
> 
> 
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com (mailto:riak-users@lists.basho.com)
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com



_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to