find() Suddenly Works on Quorum Change

Brian Sparrow bsparrow at basho.com
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 lists.basho.com (mailto:riak-users at lists.basho.com)
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 
> 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20130214/a21796c8/attachment.html>


More information about the riak-users mailing list