Deferred Deletion of Journals

This allows for deleted journals to be retained for a period (the
waste_retnetion_period).  The idea being that a backup strategy can
ensure that all journals are backed up, even ones created and removed
from within a backup period - so that any restore pont is possible.

This is also a pre-cursor to removing some of the PromptDelete
complexity from the Inker Clerk - all compactions can prompt deletion as
deletion is now deferred.
This commit is contained in:
martinsumner 2016-11-14 11:17:14 +00:00
parent dbb840d75e
commit 44738f7c75
8 changed files with 147 additions and 44 deletions

View file

@ -46,6 +46,7 @@
-record(cdb_options,
{max_size :: integer(),
file_path :: string(),
waste_path :: string(),
binary_mode = false :: boolean()}).
-record(inker_options,
@ -55,6 +56,7 @@
start_snapshot = false :: boolean(),
source_inker :: pid(),
reload_strategy = [] :: list(),
waste_retention_period :: integer(),
max_run_length}).
-record(penciller_options,
@ -66,7 +68,8 @@
-record(iclerk_options,
{inker :: pid(),
max_run_length :: integer(),
cdb_options :: #cdb_options{},
cdb_options = #cdb_options{} :: #cdb_options{},
waste_retention_period :: integer(),
reload_strategy = [] :: list()}).
-record(r_content, {