Re: Atomicity of if_not_modified?

2013-01-09 Thread Les Mikesell
On Wed, Jan 9, 2013 at 10:33 AM, qaspar wrote: >> When a Riak write "fails" the value can still have been written. >> >> Failure is really just a notification that the write didn't complete as >> requested, usually because one or more of the cluster writes failed. > > Can you post a link that con

Re: Atomicity of if_not_modified?

2013-01-09 Thread qaspar
Kresten Krab Thorup wrote > When a Riak write "fails" the value can still have been written. > > Failure is really just a notification that the write didn't complete as > requested, usually because one or more of the cluster writes failed. Can you post a link that confirms this when DW (on top of

Re: Atomicity of if_not_modified?

2013-01-07 Thread Kresten Krab Thorup
Kaspar, When a Riak write "fails" the value can still have been written. Failure is really just a notification that the write didn't complete as requested, usually because one or more of the cluster writes failed. And being written, even just to a single node, that singly written value can lat

Re: Atomicity of if_not_modified?

2013-01-07 Thread qaspar
Justin Sheehy wrote > Yes, I confirmed this earlier in this thread: > > http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-January/010672.html > > -Justin Sorry for the double-post, that was not intended. What about setting DW=DR=2? In this case only at most one partition can succe

Re: Atomicity of if_not_modified?

2013-01-06 Thread Justin Sheehy
On Jan 3, 2013, at 11:44 AM, Kaspar Thommen wrote: > Can someone confirm this? If it's true, what exactly is the purpose of > offering the if_not_modified flag? Yes, I confirmed this earlier in this thread: http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-January/

Re: Atomicity of if_not_modified?

2013-01-06 Thread Kaspar Thommen
Hi, Can someone confirm this? If it's true, what exactly is the purpose of offering the if_not_modified flag? Kaspar On Dec 28, 2012 1:51 PM, "Daniil Churikov" wrote: > Riak doesn't have atomic updates. This if_not_modified does not gives you > any > guaran

Re: Atomicity of if_not_modified?

2013-01-05 Thread qaspar
Justin Sheehy wrote > On Jan 4, 2013, at 1:25 PM, Les Mikesell wrote: > >> And, doesn't every description of riak behavior have to include the >> scenario where the network is partitioned and updates are >> simultaneously performed by entities that can't contact each other? >> If it weren't for th

Re: Atomicity of if_not_modified?

2013-01-04 Thread Elias Levy
On Fri, Jan 4, 2013 at 9:00 AM, wrote: > From: Pavan Venkatesh > With your example of N=3, R=2 and W=2, if two clients are updating at the > same time to the same object, then it actually depends on the "allow_mult" > and "last_write_wins" variable. > Correct me if I am wrong, but the caveat he

Re: Atomicity of if_not_modified?

2013-01-04 Thread Justin Sheehy
On Jan 4, 2013, at 1:25 PM, Les Mikesell wrote: > And, doesn't every description of riak behavior have to include the > scenario where the network is partitioned and updates are > simultaneously performed by entities that can't contact each other? > If it weren't for that possibility, it could ju

Re: Atomicity of if_not_modified?

2013-01-04 Thread Les Mikesell
On Fri, Jan 4, 2013 at 11:53 AM, Elias Levy wrote: >>> >> With your example of N=3, R=2 and W=2, if two clients are updating at the >> same time to the same object, then it actually depends on the "allow_mult" >> and "last_write_wins" variable. > > > Correct me if I am wrong, but the caveat here i

Re: Atomicity of if_not_modified?

2013-01-03 Thread Pavan Venkatesh
if you want a conditional store, false otherwise, defaults to false. Returns:This Pavan From: qaspar Date: Thursday, January 3, 2013 8:46 AM To: Subject: Re: Atomicity of if_not_modified? Hi, Can someone confirm this? If it's true, what exactly is the purpose of offering the if_no

Re: Atomicity of if_not_modified?

2013-01-03 Thread qaspar
Hi, Can someone confirm this? If it's true, what exactly is the purpose of offering the if_not_modified flag? Kaspar On Dec 28, 2012 1:51 PM, "Daniil Churikov [via Riak Users]" < ml-node+s197444n4026431...@n3.nabble.com> wrote: > Riak doesn't have atomic updates.

Re: Atomicity of if_not_modified?

2012-12-28 Thread Daniil Churikov
Riak doesn't have atomic updates. This if_not_modified does not gives you any guaranties. Best way to handle with simultaneously updates is try to engineer scheme so that only one client makes concurrent updates and in case of conflict any sibling will be good for you. Another option is try t

Atomicity of if_not_modified?

2012-12-28 Thread qaspar
Hello, Say I have N=3, R=2 and W=2, and two clients are simultaneously trying to update the same object with if_not_modified=true. Is there a possible scenario where both clients can succeed? If not and if at most one client succeeds then setting if_not_modified=true would be a way to atomically

Re: if_not_modified

2012-11-10 Thread Sean Cribbs
Elias, I'm not convinced that either the quorum or the number of nodes has any significance to the appearance of that problem. In order for the if_not_modified to work over PBC, the submitted vector clock must be equal to the one that Riak finds. As you say, the internal get for purposes of

Re: if_not_modified

2012-11-08 Thread Elias Levy
Sean, Thanks for the explanation. One last follow up. During testing I noticed that when using if_not_modified against a test cluster with a node using the PB interface and the Ruby client, if the bucket had an n_val greater than the number of nodes, the put would fail with 'modified&#

Re: if_not_modified

2012-11-08 Thread Sean Cribbs
Elias, The resulting strategy of allow_mult=false and last_write_wins=false (which is a simplification for developer-friendliness mostly): 1) Resolve differences using the vector clock first. 2) If siblings still exist, return the one with the latest timestamp. So in a sense, it's a combination

Re: if_not_modified

2012-11-08 Thread Elias Levy
On Tue, Nov 6, 2012 at 9:57 PM, Elias Levy wrote: > It's also not clear from the docs what Riak considers the latest value > to return if allow_mult is false and so is last_write_wins, when you > have a conflict. > Any Basho folks have an answer to this one? How does Riak resolve a conflict on a

Re: if_not_modified

2012-11-06 Thread Elias Levy
Sent from my iPhone On Nov 6, 2012, at 7:34 PM, Reid Draper wrote: > Elias, > > There's quite a few questions in here, but hopefully I'll answer the meat of > what you're > trying to find out. Using `if_not_modified` is _not_ equivalent to a > distributed at

Re: if_not_modified

2012-11-06 Thread Reid Draper
Elias, There's quite a few questions in here, but hopefully I'll answer the meat of what you're trying to find out. Using `if_not_modified` is _not_ equivalent to a distributed atomic compare-and-swap (CAS). As you've correctly identified, concurrent writers on different

if_not_modified

2012-11-06 Thread Elias Levy
The description of if_not_modified is lacking in the documentation. What guarantees if_not_modified provides is a question that has been asked in the list a few times, but for which no satisfactory answer has been given. Its something I've been wanted answered as well, so I did a bit of di

Re: Understanding put if_not_modified.

2011-09-19 Thread Igor Karymov
But then what kind of guarantees gives if_not_modified? ___ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Re: Understanding put if_not_modified.

2011-09-18 Thread Justin Sheehy
Hi, Igor. Riak (quite intentionally, for availability reasons) does not provide any sort of global transactions or user-exposed locking. One result of this is that you can't do exactly what you tried -- or least not that simply. You might be interested in https://github.com/mochi/statebox -Ju

Understanding put if_not_modified.

2011-09-18 Thread Igor Karymov
Hi all. I wrote example for understanding subj, but result is unexpected. I'm trying to realize simple autoincrement counter. Where i'm wrong? My code: https://gist.github.com/1224897 Result look as: ... reason <<"modified">> reason <<"modified">> reason <<"modified">> reason <<"modified">> reas

Re: Issue with erlang-riak-client put if_not_modified

2011-06-20 Thread Dan Reverri
Hi David, The options "if_not_modified" and "if_none_match" are not available in 0.14.2. They are currently only available on the master branch and will be released with the next major release. Thanks, Dan Daniel Reverri Developer Advocate Basho Technologies, Inc. d...@bas