I'm using standalone Bitcask (no Riak at all). It is used as a storage backend for an in-memory database, so the load is as follows: every 5 minutes I write ~1.2GB of data (~20k keys ~60kb data each) to the same keys as before, overwriting their contents. Then I call bitcask:sync(BitcaskRef). The problem is that if I don't call bitcask:merge(Path) explicitly, Bitcask won't shrink it's size (and it shrinks if I call it). Here is an example of what I'm talking about:
after ~15 minutes from the start: total 4.4G drwxr-xr-x 2 root root 260K Dec 12 22:51 . drwxr-xr-x 22 root root 4.0K Dec 5 05:16 .. -rw------- 1 root root 2.0G Dec 12 22:41 1323714971.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 22:41 1323714971.bitcask.hint -rw------- 1 root root 2.0G Dec 12 22:51 1323715283.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 22:51 1323715283.bitcask.hint -rw------- 1 root root 366M Dec 12 22:51 1323715882.bitcask.data -rw-r--r-- 1 root root 286K Dec 12 22:51 1323715882.bitcask.hint -rw------- 1 root root 45 Dec 12 22:51 bitcask.write.lock after an hour: total 19G drwxr-xr-x 2 root root 260K Dec 12 23:56 . drwxr-xr-x 22 root root 4.0K Dec 5 05:16 .. -rw------- 1 root root 2.0G Dec 12 22:41 1323714971.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 22:41 1323714971.bitcask.hint -rw------- 1 root root 2.0G Dec 12 22:51 1323715283.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 22:51 1323715283.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:01 1323715882.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 23:01 1323715882.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:11 1323716480.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 23:11 1323716480.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:21 1323717078.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 23:21 1323717078.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:31 1323717676.bitcask.data -rw-r--r-- 1 root root 2.3M Dec 12 23:31 1323717676.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:36 1323718271.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 23:36 1323718271.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:46 1323718583.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 23:46 1323718583.bitcask.hint -rw------- 1 root root 2.0G Dec 12 23:56 1323719182.bitcask.data -rw-r--r-- 1 root root 2.7M Dec 12 23:56 1323719182.bitcask.hint -rw------- 1 root root 541M Dec 12 23:56 1323719779.bitcask.data -rw-r--r-- 1 root root 422K Dec 12 23:56 1323719779.bitcask.hint -rw------- 1 root root 45 Dec 12 23:56 bitcask.write.lock I didn't change any Bitcask settings: application:get_all_env(bitcask). [{frag_merge_trigger,60}, {dead_bytes_merge_trigger,536870912}, {frag_threshold,40}, {included_applications,[]}, {open_timeout,4}, {dead_bytes_threshold,134217728}, {max_file_size,2147483648}, {max_fold_puts,0}, {max_fold_age,-1}, {small_file_threshold,10485760}, {sync_strategy,none}, {expiry_secs,-1}, {merge_window,always}] _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com