Don't link snapshots
If a snapshot breaks a penciller clone, this shouldn't crash the main process.
This commit is contained in:
parent
082eabb65b
commit
c4e376ece5
3 changed files with 16 additions and 2 deletions
|
@ -916,12 +916,12 @@ snapshot_store(LedgerCache, Penciller, Inker, SnapType, Query, LongRunning) ->
|
||||||
snapshot_query = Query,
|
snapshot_query = Query,
|
||||||
snapshot_longrunning = LongRunning,
|
snapshot_longrunning = LongRunning,
|
||||||
bookies_mem = BookiesMem},
|
bookies_mem = BookiesMem},
|
||||||
{ok, LedgerSnapshot} = leveled_penciller:pcl_start(PCLopts),
|
{ok, LedgerSnapshot} = leveled_penciller:pcl_snapstart(PCLopts),
|
||||||
case SnapType of
|
case SnapType of
|
||||||
store ->
|
store ->
|
||||||
InkerOpts = #inker_options{start_snapshot=true,
|
InkerOpts = #inker_options{start_snapshot=true,
|
||||||
source_inker=Inker},
|
source_inker=Inker},
|
||||||
{ok, JournalSnapshot} = leveled_inker:ink_start(InkerOpts),
|
{ok, JournalSnapshot} = leveled_inker:ink_snapstart(InkerOpts),
|
||||||
{ok, LedgerSnapshot, JournalSnapshot};
|
{ok, LedgerSnapshot, JournalSnapshot};
|
||||||
ledger ->
|
ledger ->
|
||||||
{ok, LedgerSnapshot, null}
|
{ok, LedgerSnapshot, null}
|
||||||
|
|
|
@ -94,6 +94,7 @@
|
||||||
terminate/2,
|
terminate/2,
|
||||||
code_change/3,
|
code_change/3,
|
||||||
ink_start/1,
|
ink_start/1,
|
||||||
|
ink_snapstart/1,
|
||||||
ink_put/4,
|
ink_put/4,
|
||||||
ink_mput/3,
|
ink_mput/3,
|
||||||
ink_get/3,
|
ink_get/3,
|
||||||
|
@ -171,6 +172,12 @@
|
||||||
ink_start(InkerOpts) ->
|
ink_start(InkerOpts) ->
|
||||||
gen_server:start_link(?MODULE, [InkerOpts], []).
|
gen_server:start_link(?MODULE, [InkerOpts], []).
|
||||||
|
|
||||||
|
-spec ink_snapstart(inker_options()) -> {ok, pid()}.
|
||||||
|
%% @doc
|
||||||
|
%% Don't link on startup as snapshot
|
||||||
|
ink_snapstart(InkerOpts) ->
|
||||||
|
gen_server:start(?MODULE, [InkerOpts], []).
|
||||||
|
|
||||||
-spec ink_put(pid(),
|
-spec ink_put(pid(),
|
||||||
leveled_codec:ledger_key(),
|
leveled_codec:ledger_key(),
|
||||||
any(),
|
any(),
|
||||||
|
|
|
@ -170,6 +170,7 @@
|
||||||
code_change/3]).
|
code_change/3]).
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
|
pcl_snapstart/1,
|
||||||
pcl_start/1,
|
pcl_start/1,
|
||||||
pcl_pushmem/2,
|
pcl_pushmem/2,
|
||||||
pcl_fetchlevelzero/2,
|
pcl_fetchlevelzero/2,
|
||||||
|
@ -310,6 +311,12 @@
|
||||||
pcl_start(PCLopts) ->
|
pcl_start(PCLopts) ->
|
||||||
gen_server:start_link(?MODULE, [PCLopts], []).
|
gen_server:start_link(?MODULE, [PCLopts], []).
|
||||||
|
|
||||||
|
-spec pcl_snapstart(penciller_options()) -> {ok, pid()}.
|
||||||
|
%% @doc
|
||||||
|
%% Don't link to the bookie - this is a snpashot
|
||||||
|
pcl_snapstart(PCLopts) ->
|
||||||
|
gen_server:start(?MODULE, [PCLopts], []).
|
||||||
|
|
||||||
-spec pcl_pushmem(pid(), bookies_memory()) -> ok|returned.
|
-spec pcl_pushmem(pid(), bookies_memory()) -> ok|returned.
|
||||||
%% @doc
|
%% @doc
|
||||||
%% Load the contents of the Bookie's memory of recent additions to the Ledger
|
%% Load the contents of the Bookie's memory of recent additions to the Ledger
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue