A put is not put in Riak

Alexander Sicular siculars at gmail.com
Wed Dec 30 18:26:10 EST 2015

Patrice, since Riak is distributed it uses a quorum (default 2 when
n_val is 3) to read your data. Since you're doing a post commit hook
to read your data immediately after you write there may be delay in
getting the new value from two of three copies written due simply to
timing. So the rule of thumb is to do a w+r>n transaction where you
ensure that you write/read with some total value more than your number
of replicas. Read these posts (part four talks about RYOW):




Sent from my iRotaryPhone

> On Dec 30, 2015, at 11:14, John Daily <jdaily at basho.com> wrote:
> This smells like a clock problem. Are you confident all of your servers’ clocks are set to the same time?
> Updates can be treacherous if clocks are not synchronized and multiple writes to the same key occur in a period of time short enough to fit within the clock skew.
> I wrote about this after a similar question arose here: http://basho.com/posts/technical/clocks-are-bad-or-welcome-to-distributed-systems/
> -John
>> On Dec 8, 2015, at 9:39 AM, Patrice Bruno <patrice at kuantic.com> wrote:
>> Good-Evening everyone,
>> I'm reading this maling for minths now wioth great interest, and now we are using Riak, I have a question to not say an issue that I can not figure out.
>> We have migrated leveldb files from Riak 1.3.1 to Riak 2.1.1.
>> The clusters has 6 Nodes and 6 computers.
>> We are running now on CentOS Linux release 7.1.1503 (Core) (we were under Fedora when we are under Riak 1.3.1).
>> We have kept the default Riak paramaters. We are not using 'bucket_type'. The only paramaters we have tuned are:
>> erlang.distribution_buffer_size = 128MB
>> erlang.async_threads = 128
>> My issue is on a Bucket without sibling (default settings) I'm making a put and when I do the get the value has not been changed, and old value stayed under the key. So, I have made a test: I've made a put of an objet A, I can see in the precommit hook that it's well the object A, but in the postcommit the object (argument passed) is an old one.
>> I thought that I'm not sending the right object, but when I see it in precommit hook, I'm sure now that I send what I expect to send.
>> It's not for all the objects, but it appears time to time under load.
>> Do you already seen this issue ?
>> Do you have an idea or something I can enhance/tune ?
>> Help me mailing list, you are my only hope :-) (dixit Princess Leia).
>> --
>> Best Reagrds,
>>   Patrice Bruno
>>   Kuantic
>> ---
>> _______________________________________________
>> riak-users mailing list
>> riak-users at lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

More information about the riak-users mailing list