Push log update through to cdb/sst
Using the cdb_options and sst_options records
This commit is contained in:
parent
9ca6b499e1
commit
6677f2e5c6
12 changed files with 242 additions and 214 deletions
|
@ -13,24 +13,17 @@
|
|||
|
||||
%% Inker key type used for 'normal' objects
|
||||
-define(INKT_STND, stnd).
|
||||
|
||||
%% Inker key type used for 'batch' objects
|
||||
-define(INKT_MPUT, mput).
|
||||
|
||||
%% Inker key type used for objects which contain no value, only key changes
|
||||
%% This is used currently for objects formed under a 'retain' strategy on Inker
|
||||
%% compaction
|
||||
-define(INKT_KEYD, keyd).
|
||||
|
||||
%% Inker key type used for tombstones
|
||||
-define(INKT_TOMB, tomb).
|
||||
|
||||
-define(CACHE_TYPE, skpl).
|
||||
|
||||
-record(sft_options,
|
||||
{wait = true :: boolean(),
|
||||
expire_tombstones = false :: boolean(),
|
||||
penciller :: pid()}).
|
||||
|
||||
-record(level,
|
||||
{level :: integer(),
|
||||
|
@ -39,25 +32,31 @@
|
|||
|
||||
-record(manifest_entry,
|
||||
{start_key :: tuple() | undefined,
|
||||
end_key :: tuple() | undefined,
|
||||
owner :: pid()|list(),
|
||||
filename :: string() | undefined,
|
||||
bloom :: binary() | none | undefined}).
|
||||
end_key :: tuple() | undefined,
|
||||
owner :: pid()|list(),
|
||||
filename :: string() | undefined,
|
||||
bloom :: binary() | none | undefined}).
|
||||
|
||||
-record(cdb_options,
|
||||
{max_size :: integer() | undefined,
|
||||
file_path :: string() | undefined,
|
||||
waste_path :: string() | undefined,
|
||||
binary_mode = false :: boolean(),
|
||||
sync_strategy = sync}).
|
||||
file_path :: string() | undefined,
|
||||
waste_path :: string() | undefined,
|
||||
binary_mode = false :: boolean(),
|
||||
sync_strategy = sync,
|
||||
log_options = leveled_log:get_opts()
|
||||
:: leveled_log:log_options()}).
|
||||
|
||||
-record(sst_options,
|
||||
{press_method = native
|
||||
:: leveled_sst:press_method(),
|
||||
log_options = leveled_log:get_opts()
|
||||
:: leveled_log:log_options()}).
|
||||
|
||||
-record(inker_options,
|
||||
{cdb_max_size :: integer() | undefined,
|
||||
root_path :: string() | undefined,
|
||||
cdb_options :: #cdb_options{} | undefined,
|
||||
cdb_options = #cdb_options{} :: #cdb_options{},
|
||||
start_snapshot = false :: boolean(),
|
||||
%% so a snapshot can monitor the bookie and
|
||||
%% terminate when it does
|
||||
bookies_pid :: pid() | undefined,
|
||||
source_inker :: pid() | undefined,
|
||||
reload_strategy = [] :: list(),
|
||||
|
@ -70,11 +69,10 @@
|
|||
|
||||
-record(penciller_options,
|
||||
{root_path :: string() | undefined,
|
||||
sst_options = #sst_options{} :: #sst_options{},
|
||||
max_inmemory_tablesize :: integer() | undefined,
|
||||
start_snapshot = false :: boolean(),
|
||||
snapshot_query,
|
||||
%% so a snapshot can monitor the bookie and
|
||||
%% terminate when it does
|
||||
bookies_pid :: pid() | undefined,
|
||||
bookies_mem :: tuple() | undefined,
|
||||
source_penciller :: pid() | undefined,
|
||||
|
@ -91,43 +89,3 @@
|
|||
singlefile_compactionperc :: float()|undefined,
|
||||
maxrunlength_compactionperc :: float()|undefined,
|
||||
reload_strategy = [] :: list()}).
|
||||
|
||||
-record(recent_aae, {filter :: whitelist|blacklist,
|
||||
% the buckets list should either be a
|
||||
% - whitelist - specific buckets are included, and
|
||||
% entries are indexed by bucket name
|
||||
% - blacklist - specific buckets are excluded, and
|
||||
% all other entries are indexes using the special
|
||||
% $all bucket
|
||||
|
||||
buckets :: list(),
|
||||
% whitelist or blacklist of buckets to support recent
|
||||
% AAE
|
||||
|
||||
limit_minutes :: integer(),
|
||||
% how long to retain entries the temporary index for
|
||||
% It will actually be retained for limit + unit minutes
|
||||
% 60 minutes seems sensible
|
||||
|
||||
unit_minutes :: integer(),
|
||||
% What the minimum unit size will be for a query
|
||||
% e.g. the minimum time duration to be used in range
|
||||
% queries of the aae index
|
||||
% 5 minutes seems sensible
|
||||
|
||||
tree_size = small :: atom()
|
||||
% Just defaulted to small for now
|
||||
}).
|
||||
|
||||
-record(r_content, {
|
||||
metadata,
|
||||
value :: term()
|
||||
}).
|
||||
|
||||
-record(r_object, {
|
||||
bucket,
|
||||
key,
|
||||
contents :: [#r_content{}],
|
||||
vclock,
|
||||
updatemetadata=dict:store(clean, true, dict:new()),
|
||||
updatevalue :: term()}).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue