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