Riak 1.4.12 and siblings
hankipanky at gmail.com
Mon Dec 22 06:03:34 EST 2014
We're using a number of Riak 1.4 nodes in a cluster. In front of it is
our java-based "Storage-Backend" (our own version of Riak-CS, custom
built to our requirements), which connects to localhost Riak. The Riak
nodes are linked over IPSec-links. All of this is running on cheap
commodity hardware, and thanks to the nature of Riak we can deal with
node failures. We're learning to embrace the concept of enventual
consistency and are using conflict resolvers to deal with siblings.
Recently we upgraded from 1.4.10 to 1.4.12, and we're having the
impression that this version performs worse. The rate of sibling
creation feels much higher (but I don't have solid data to back this
We've also noticed a few occasions where our conflict resolver was
unable to do its job. Manual investigation showed that an object had
siblings with *identical vtags*, but only sometimes!! From memory,
this is what happened:
- Storage-Backend throws Unresolved Conflict Exception with object
"abc123" of bucket "chunks"
- Repeatedly issuing 'curl --head
http://localhost:8087/buckets/chunks/keys/abc123' returns half the
time HTTP 200 and half the time HTTP 300
- When getting the HTTP 300 response, the output of 'curl
http://localhost:8087/buckets/chunks/keys/abc123' was something like
The solution was to manually retrieve the object (specifying the vtag)
and uploading it again (specifying the Vclock).
- Is anyone else experiencing similar issues, maybe even with 1.4.12?
- Is it possible (or even worthwhile) to downgrade to 1.4.10?
Thanks a bunch!
More information about the riak-users