find() Suddenly Works on Quorum Change

Brian Sparrow bsparrow at
Thu Feb 14 23:37:18 EST 2013

Hi Ian, 

Did you retry the request with R=3 immediately after the failed read.  What most likely happened was read-repair kicked in after the unsuccessful read and fixed all 3 replicas of the object. Generally it is a good idea to retry all r_val_unsatisfied requests as read-repair should fix the replicas resulting in a successful read on subsequent requests. 

Brian Sparrow
Developer Advocate
Basho Technologies

On Tuesday, February 12, 2013 at 2:29 PM, Ian Ha wrote:

> Via the Ripple client library for Ruby, we were doing a User.find() call to our riak cluster and received the following error:
> Riak::ProtobuffsFailedRequest: Expected success from Riak but received 0. {r_val_unsatisfied,3,0}
> As a guess, we changed the read quorum to 2 from 3 and left the write quorum unchanged at 3; the change was done on the User object. As a result, the User.find() call worked. 
> Strangely, when we changed the read quorum back to 3, the User.find() now worked, too. 
> I searched in our logs and Google and couldn't find any clues as to what might be causing this.  
> Does anyone have any suggestions here or can point me to documentation that might help explain this? 
> Thanks 
> _______________________________________________
> riak-users mailing list
> riak-users at (mailto:riak-users at

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

More information about the riak-users mailing list