Subtle issues with configuring bitcask sync and merge intervals

Daniel Abrahamsson daniel.abrahamsson at
Sat Jan 31 05:29:53 EST 2015


I just wanted to share some experiences configuring Riak, in case some one
else would bump into the same issues.

Bitcask has a sync_strategy option and a merge_check_interval option. The
first one is for forcing Bitcask to sync to disk and the second one is to
ask Bitcask to check if files could be merged. Setting any of these to an
interval less or equal to riak_kv.vnode_inactivity_timeout (defaults to 60
seconds) will have the unexpected effect of making Riak unable to perform

This is due to that a vnode has to be inactive (not receive any messages)
for vnode_inactivity_timeout milliseconds before it shuts down and starts
handoff. The merge check and sync options are implemented as messages being
sent to the vnode, and thus setting these values too low will prevent the
vnode from ever becoming inactive.

This applies to Riak 1.3.x, 1.4.x and riak 2.0.x. I have filed a pull
request documenting this at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the riak-users mailing list