1212-define (MAX_CACHE_MULTTIPLE , 2 ).
1313-define (MIN_CACHE_SIZE , 100 ).
1414-define (MIN_PCL_CACHE_SIZE , 400 ).
15- -define (MAX_PCL_CACHE_SIZE , 28000 ).
16- % This is less than actual max - but COIN_SIDECOUNT
15+ -define (MAX_PCL_CACHE_SIZE , 28000 ).
16+ % This is less than actual max - but COIN_SIDECOUNT
1717-define (ABSOLUTEMAX_JOURNALSIZE , 4000000000 ).
1818-define (COMPRESSION_METHOD , lz4 ).
1919-define (COMPRESSION_POINT , on_receipt ).
2020-define (COMPRESSION_LEVEL , 1 ).
2121-define (LOG_LEVEL , info ).
2222-define (DEFAULT_DBID , 65536 ).
2323-define (OPEN_LASTMOD_RANGE , {0 , infinity }).
24- -define (SNAPTIMEOUT_SHORT , 900 ). % 15 minutes
25- -define (SNAPTIMEOUT_LONG , 43200 ). % 12 hours
24+ % 15 minutes
25+ -define (SNAPTIMEOUT_SHORT , 900 ).
26+ % 12 hours
27+ -define (SNAPTIMEOUT_LONG , 43200 ).
2628-define (SST_PAGECACHELEVEL_NOLOOKUP , 1 ).
2729-define (SST_PAGECACHELEVEL_LOOKUP , 4 ).
2830-define (DEFAULT_STATS_PERC , 10 ).
2931-define (DEFAULT_SYNC_STRATEGY , none ).
32+ -define (DEFAULT_BLOCK_VERSION , 1 ).
3033% %%============================================================================
3134
3235% %%============================================================================
3942-define (CACHE_SIZE_JITTER , 25 ).
4043-define (JOURNAL_SIZE_JITTER , 20 ).
4144-define (LONG_RUNNING , 1000000 ).
42- % An individual task taking > 1s gets a specific log
45+ % An individual task taking > 1s gets a specific log
4346-define (MAX_KEYCHECK_FREQUENCY , 100 ).
4447-define (MIN_KEYCHECK_FREQUENCY , 1 ).
4548-define (MAX_LEVELS , 8 ).
46- % % Should equal the length of the LEVEL_SCALEFACTOR
49+ % % Should equal the length of the LEVEL_SCALEFACTOR
4750-define (CACHE_TYPE , skpl ).
4851% %%============================================================================
4952
5053% %%============================================================================
5154% %% Tags
5255% %%============================================================================
5356-define (RIAK_TAG , o_rkv ).
54- % % Tag to be used on standard Riak KV objects
57+ % % Tag to be used on standard Riak KV objects
5558-define (STD_TAG , o ).
56- % % Tag to be used on K/V objects for non-Riak purposes
59+ % % Tag to be used on K/V objects for non-Riak purposes
5760-define (IDX_TAG , i ).
58- % % Tag used for secondary index keys
61+ % % Tag used for secondary index keys
5962-define (HEAD_TAG , h ).
60- % % Tag used for head-only objects
63+ % % Tag used for head-only objects
6164
6265-define (INKT_STND , stnd ).
63- % % Inker key type used for 'normal' objects
66+ % % Inker key type used for 'normal' objects
6467-define (INKT_MPUT , mput ).
65- % % Inker key type used for 'batch' objects
66- -define (INKT_KEYD , keyd ).
67- % % Inker key type used for objects which contain no value, only key changes
68- % % This is used currently for objects formed under a 'retain' strategy
69- % % on Inker compaction
68+ % % Inker key type used for 'batch' objects
69+ -define (INKT_KEYD , keyd ).
70+ % % Inker key type used for objects which contain no value, only key changes
71+ % % This is used currently for objects formed under a 'retain' strategy
72+ % % on Inker compaction
7073-define (INKT_TOMB , tomb ).
71- % % Inker key type used for tombstones
74+ % % Inker key type used for tombstones
7275% %%============================================================================
7376
77+ % %%============================================================================
78+ % %% Test
79+ % %%============================================================================
80+
81+ -define (EQC_TIME_BUDGET , 120 ).
82+
7483% %%============================================================================
7584% %% Helper Function
7685% %%============================================================================
8493% %%============================================================================
8594% %% Shared records
8695% %%============================================================================
87- -record (level ,
88- {level :: integer (),
89- is_basement = false :: boolean (),
90- timestamp :: integer ()}).
96+ -record (level , {
97+ level :: integer (),
98+ is_basement = false :: boolean (),
99+ timestamp :: integer ()
100+ }).
91101
92- -record (cdb_options ,
93- {max_size :: pos_integer () | undefined ,
94- max_count :: pos_integer () | undefined ,
95- file_path :: string () | undefined ,
96- waste_path :: string () | undefined ,
97- binary_mode = false :: boolean (),
98- % Default set by bookie to be `true`
99- % `false` set here due to legacy of unit tests
100- % using non-binary keys
101- sync_strategy = ? DEFAULT_SYNC_STRATEGY ,
102- log_options = leveled_log :get_opts ()
103- :: leveled_log :log_options (),
104- monitor = {no_monitor , 0 }
105- :: leveled_monitor :monitor ()}).
102+ -record (cdb_options , {
103+ max_size :: pos_integer () | undefined ,
104+ max_count :: pos_integer () | undefined ,
105+ file_path :: string () | undefined ,
106+ waste_path :: string () | undefined ,
107+ binary_mode = false :: boolean (),
108+ % Default set by bookie to be `true`
109+ % `false` set here due to legacy of unit tests
110+ % using non-binary keys
111+ sync_strategy = ? DEFAULT_SYNC_STRATEGY ,
112+ log_options = leveled_log :get_opts () ::
113+ leveled_log :log_options (),
114+ monitor = {no_monitor , 0 } ::
115+ leveled_monitor :monitor ()
116+ }).
106117
107- -record (sst_options ,
108- {press_method = ? COMPRESSION_METHOD
109- :: leveled_sst :press_method (),
110- press_level = ? COMPRESSION_LEVEL :: non_neg_integer (),
111- log_options = leveled_log :get_opts ()
112- :: leveled_log :log_options (),
113- max_sstslots = ? MAX_SSTSLOTS :: pos_integer ()|infinity ,
114- max_mergebelow = ? MAX_MERGEBELOW :: pos_integer ()|infinity ,
115- pagecache_level = ? SST_PAGECACHELEVEL_NOLOOKUP
116- :: pos_integer (),
117- monitor = {no_monitor , 0 }
118- :: leveled_monitor :monitor ()}).
118+ -record (sst_options , {
119+ press_method = ? COMPRESSION_METHOD ::
120+ leveled_sst :press_method (),
121+ block_version = ? DEFAULT_BLOCK_VERSION ::
122+ leveled_sst :block_version (),
123+ press_level = ? COMPRESSION_LEVEL :: non_neg_integer (),
124+ log_options = leveled_log :get_opts () ::
125+ leveled_log :log_options (),
126+ max_sstslots = ? MAX_SSTSLOTS :: pos_integer () | infinity ,
127+ max_mergebelow = ? MAX_MERGEBELOW :: pos_integer () | infinity ,
128+ pagecache_level = ? SST_PAGECACHELEVEL_NOLOOKUP ::
129+ pos_integer (),
130+ monitor = {no_monitor , 0 } ::
131+ leveled_monitor :monitor ()
132+ }).
119133
120- -record (inker_options ,
121- {cdb_max_size :: integer () | undefined ,
122- root_path :: string () | undefined ,
123- cdb_options = # cdb_options {} :: # cdb_options {},
124- start_snapshot = false :: boolean (),
125- bookies_pid :: pid () | undefined ,
126- source_inker :: pid () | undefined ,
127- reload_strategy = [] :: list (),
128- waste_retention_period :: integer () | undefined ,
129- compression_method = ? COMPRESSION_METHOD
130- :: lz4 |native |none ,
131- compress_on_receipt = false :: boolean (),
132- max_run_length ,
133- singlefile_compactionperc :: float ()|undefined ,
134- maxrunlength_compactionperc :: float ()|undefined ,
135- score_onein = 1 :: pos_integer (),
136- snaptimeout_long = 60 :: pos_integer (),
137- monitor = {no_monitor , 0 }
138- :: leveled_monitor :monitor ()}).
134+ -record (inker_options , {
135+ cdb_max_size :: integer () | undefined ,
136+ root_path :: string () | undefined ,
137+ cdb_options = # cdb_options {} :: # cdb_options {},
138+ start_snapshot = false :: boolean (),
139+ bookies_pid :: pid () | undefined ,
140+ source_inker :: pid () | undefined ,
141+ reload_strategy = [] :: list (),
142+ waste_retention_period :: integer () | undefined ,
143+ compression_method = ? COMPRESSION_METHOD ::
144+ lz4 | native | none ,
145+ compress_on_receipt = false :: boolean (),
146+ max_run_length ,
147+ singlefile_compactionperc :: float () | undefined ,
148+ maxrunlength_compactionperc :: float () | undefined ,
149+ score_onein = 1 :: pos_integer (),
150+ snaptimeout_long = 60 :: pos_integer (),
151+ monitor = {no_monitor , 0 } ::
152+ leveled_monitor :monitor ()
153+ }).
139154
140- -record (penciller_options ,
141- {root_path :: string () | undefined ,
142- sst_options = # sst_options {} :: # sst_options {},
143- max_inmemory_tablesize = ? MIN_PCL_CACHE_SIZE
144- :: pos_integer (),
145- start_snapshot = false :: boolean (),
146- snapshot_query ,
147- bookies_pid :: pid () | undefined ,
148- bookies_mem :: tuple () | undefined ,
149- source_penciller :: pid () | undefined ,
150- snapshot_longrunning = true :: boolean (),
151- compression_method = ? COMPRESSION_METHOD
152- :: lz4 |native |none ,
153- levelzero_cointoss = false :: boolean (),
154- snaptimeout_short :: pos_integer () | undefined ,
155- snaptimeout_long :: pos_integer () | undefined ,
156- monitor = {no_monitor , 0 }
157- :: leveled_monitor :monitor ()}).
155+ -record (penciller_options , {
156+ root_path :: string () | undefined ,
157+ sst_options = # sst_options {} :: # sst_options {},
158+ max_inmemory_tablesize = ? MIN_PCL_CACHE_SIZE ::
159+ pos_integer (),
160+ start_snapshot = false :: boolean (),
161+ snapshot_query ,
162+ bookies_pid :: pid () | undefined ,
163+ bookies_mem :: tuple () | undefined ,
164+ source_penciller :: pid () | undefined ,
165+ snapshot_longrunning = true :: boolean (),
166+ compression_method = ? COMPRESSION_METHOD ::
167+ lz4 | native | none ,
168+ levelzero_cointoss = false :: boolean (),
169+ snaptimeout_short :: pos_integer () | undefined ,
170+ snaptimeout_long :: pos_integer () | undefined ,
171+ monitor = {no_monitor , 0 } ::
172+ leveled_monitor :monitor ()
173+ }).
158174
159- -record (iclerk_options ,
160- {inker :: pid () | undefined ,
161- max_run_length :: integer () | undefined ,
162- cdb_options = # cdb_options {} :: # cdb_options {},
163- waste_retention_period :: integer () | undefined ,
164- compression_method = ? COMPRESSION_METHOD
165- :: lz4 |native |none ,
166- singlefile_compactionperc :: float ()|undefined ,
167- maxrunlength_compactionperc :: float ()|undefined ,
168- score_onein = 1 :: pos_integer (),
169- reload_strategy = [] :: list ()}).
170- % %%============================================================================
175+ -record (iclerk_options , {
176+ inker :: pid () | undefined ,
177+ max_run_length :: integer () | undefined ,
178+ cdb_options = # cdb_options {} :: # cdb_options {},
179+ waste_retention_period :: integer () | undefined ,
180+ compression_method = ? COMPRESSION_METHOD ::
181+ lz4 | native | none ,
182+ singlefile_compactionperc :: float () | undefined ,
183+ maxrunlength_compactionperc :: float () | undefined ,
184+ score_onein = 1 :: pos_integer (),
185+ reload_strategy = [] :: list ()
186+ }).
187+ % %%============================================================================
0 commit comments