Add ability to control journal size by object count
This helps when there are files wiht large numbers of key deltas (and hence small values), where otherwise the object count may get out of control.
This commit is contained in:
parent
0ba7b3347e
commit
dab9652f6c
6 changed files with 157 additions and 62 deletions
|
@ -63,12 +63,27 @@
|
|||
]}.
|
||||
|
||||
%% @doc The approximate size (in bytes) when a Journal file should be rolled.
|
||||
%% Normally keep this as around the size of o(100K) objects. Default is 500MB
|
||||
%% Normally keep this as around the size of o(100K) objects. Default is 1GB.
|
||||
%% Note that on startup an actual maximum size will be chosen which varies by
|
||||
%% a random factor from this point - to avoid coordination of roll events
|
||||
%% across vnodes.
|
||||
{mapping, "leveled.journal_size", "leveled.journal_size", [
|
||||
{default, 1000000000},
|
||||
{datatype, integer}
|
||||
]}.
|
||||
|
||||
%% @doc The approximate size (in bytes) when a Journal file should be rolled.
|
||||
%% This time measured in object count, a file will be rolled if either the
|
||||
%% object count or the journal size limit is reached. Default 200K.
|
||||
%% Note that on startup an actual maximum size will be chosen which varies by
|
||||
%% a random factor from this point - to avoid coordination of roll events
|
||||
%% across vnodes.
|
||||
{mapping, "leveled.journal_objectcount", "leveled.journal_objectcount", [
|
||||
{default, 200000},
|
||||
{datatype, integer}
|
||||
]}.
|
||||
|
||||
|
||||
%% @doc The number of journal compactions per vnode per day
|
||||
%% The higher the value, the more compaction runs, and the sooner space is
|
||||
%% recovered. But each run has a cost
|
||||
|
|
|
@ -57,11 +57,24 @@
|
|||
|
||||
|
||||
%% @doc The approximate size (in bytes) when a Journal file should be rolled.
|
||||
%% Normally keep this as around the size of o(100K) objects. Default is 500MB
|
||||
%% Normally keep this as around the size of o(100K) objects. Default is 1GB.
|
||||
%% Note that on startup an actual maximum size will be chosen which varies by
|
||||
%% a random factor from this point - to avoid coordination of roll events
|
||||
%% across vnodes.
|
||||
{mapping, "multi_backend.$name.leveled.journal_size", "riak_kv.multi_backend", [
|
||||
{default, 500000000},
|
||||
{datatype, integer},
|
||||
hidden
|
||||
{default, 1000000000},
|
||||
{datatype, integer}
|
||||
]}.
|
||||
|
||||
%% @doc The approximate size (in bytes) when a Journal file should be rolled.
|
||||
%% This time measured in object count, a file will be rolled if either the
|
||||
%% object count or the journal size limit is reached. Default 200K.
|
||||
%% Note that on startup an actual maximum size will be chosen which varies by
|
||||
%% a random factor from this point - to avoid coordination of roll events
|
||||
%% across vnodes.
|
||||
{mapping, "multi_backend.$name.leveled.journal_objectcount", "riak_kv.multi_backend", [
|
||||
{default, 200000},
|
||||
{datatype, integer}
|
||||
]}.
|
||||
|
||||
%% @doc The number of journal compactions per vnode per day
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue