This sure looks like a bug...?

Bryan O'Sullivan bos at
Mon Apr 18 19:16:34 EDT 2011

I have an app using the protobuf API that's exhibiting some strange

I have a bucket with allow_mult = true, so when I perform a PUT I expect
that if a matching key exists, a sibling will be created, and the response
to the PUT should contain both the pre-existing value and the new value,
with different vtags. However, what I'm actually seeing is that the older
value is returned, and the PUT appears not to have succeeded at all.
However, this only happens under heavy load. If I poke the server just once
in a while, everything seems to work fine.

This problem arises in a server-side application that uses connection
pooling, so when it's under heavy load, requests are always issued with the
same client ID. On a hint from Kyle Kingsbury, I tried changing the client
ID every time an existing connection is recycled out of the pool, and that
seems to have made the problem disappear. However, I find this pretty
disturbing. What on earth is going on?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the riak-users mailing list