Thanks, I've read the conversation.

Turning on timed sync for bitcask kinda solved the problem for now.

On Tue, Aug 17, 2010 at 11:52 PM, Alexander Sicular <sicul...@gmail.com> wrote:
> I'm having a discussion with dizzyd in the irc about this. The compaction is 
> not triggered by time or by and particular number of records overwritten, but 
> rather the total number of dead bytes and fragmentation percentage as listed 
> in the default config here, 
> http://github.com/basho/bitcask/blob/master/ebin/bitcask.app.
>
> check http://irclogger.com/riak/2010-08-17 for the latest.
>
> -alexander
>
>
> On Aug 17, 2010, at 11:59 AM, Dmitry Demeshchuk wrote:
>
>> We've been running Riak at production for 3 weeks and database just
>> kept growing. Even more time for our test server. Well, it was an
>> older Riak, 0.12.0.
>>
>> I've been running 0.12.1 for several hours and still no compaction though...
>>
>> On Tue, Aug 17, 2010 at 7:54 PM, Alexander Sicular <sicul...@gmail.com> 
>> wrote:
>>> Bitcask is a write only log (wol) that eats disk (by keeping all updates)
>>> until a compaction phase that reclaims disk at some defined interval.
>>>
>>> -Alexander
>>>
>>>
>>> @siculars on twitter
>>> http://siculars.posterous.com
>>>
>>> Sent from my iPhone
>>>
>>> On Aug 17, 2010, at 11:27, Dmitry Demeshchuk <demeshc...@gmail.com> wrote:
>>>
>>>> Greetings.
>>>>
>>>> This problem has already been discussed in IRC a bit.
>>>>
>>>> I use Riak 0.12.1 (have been using 0.12.0 but then updated to the
>>>> latest version and got the same problem) with bitcask storage.
>>>>
>>>> All Riak settings are default, i.e., all buckets are
>>>> default-configured (allow_mult=false), replication is 3x. Currently
>>>> Riak is run at a single machine. This problem is reproduced on
>>>> different machines with different Riak clusters brought up.
>>>>
>>>> Though the total database records size doesn't grow, update operations
>>>> (I'll describe them in details later) make the total size of the
>>>> "data/bitcask" folder. For example, I made a database backup on our
>>>> test server and the backup size was 2.5MB. But the size of the
>>>> "data/bitcask" folder was 17GB!
>>>>
>>>> Careful investigation showed that the entire database size on the disk
>>>> is performed when Riak update operation is performed, even when the
>>>> value during update was exactly the same.
>>>>
>>>> The update operation is like this:
>>>>
>>>> RiakObject = RiakClient:get(Bucket, Key, 1),
>>>> OldValue = riak_object:get_value(RiakObject),
>>>> NewValue = do_something(),
>>>> NewRiakObject = riak_object:update_value(RiakObject, NewValue),
>>>> RiakClient:put(NewRiakObject, 1).
>>>>
>>>> And it appeared that even if I make NewValue exactly the same as
>>>> OldValue, this update operation increases the database size of the
>>>> disk. Still, the entire size of this Riak object is the same.
>>>>
>>>> I thought that maybe I could do something wrong with data operating,
>>>> and there's some data I miss. But, again, backup file is very small,
>>>> much smaller then the disk space occupied by database.
>>>>
>>>> If I do list_buckets or list_keys, these operations work desperately
>>>> slow but finally they return the right values, without any garbage.
>>>> Values of the Riak objects are okay as well.
>>>>
>>>> When I had a look at data files, it appeared that *.bitcask.data are
>>>> the files that keep growing.
>>>>
>>>> That's all I found for now.
>>>>
>>>> Any clues?
>>>>
>>>> --
>>>> Best regards,
>>>> Dmitry Demeshchuk
>>>>
>>>> _______________________________________________
>>>> riak-users mailing list
>>>> riak-users@lists.basho.com
>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>
>>
>>
>>
>> --
>> Best regards,
>> Dmitry Demeshchuk
>
>



-- 
Best regards,
Dmitry Demeshchuk

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to