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
> [email protected] (mailto:[email protected])
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 
> 


_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to