diff --git a/src/leveled_bookie.erl b/src/leveled_bookie.erl index f89e399..af8b8ed 100644 --- a/src/leveled_bookie.erl +++ b/src/leveled_bookie.erl @@ -157,7 +157,7 @@ -define(SHUTDOWN_WAITS, 60). -define(SHUTDOWN_PAUSE, 10000). -define(SNAPSHOT_TIMEOUT, 300000). --define(JITTER_PROBABILITY, 0.1). +-define(JITTER_PROBABILITY, 0.01). -record(state, {inker :: pid(), penciller :: pid(), diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index 2509ad2..698b9b5 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -588,15 +588,18 @@ terminate(Reason, State) -> State end, case {UpdState#state.levelzero_pending, - get_item(0, State#state.manifest, [])} of - {true, []} -> + get_item(0, State#state.manifest, []), + gb_trees:size(State#state.levelzero_cache)} of + {true, [], _} -> ok = leveled_sft:sft_close(State#state.levelzero_constructor); - {false, []} -> + {false, [], 0} -> + io:format("Level 0 cache empty at close of Penciller~n"); + {false, [], _N} -> KL = roll_into_list(State#state.levelzero_cache), L0Pid = roll_memory(UpdState, KL, true), ok = leveled_sft:sft_close(L0Pid); _ -> - ok + io:format("No level zero action on close of Penciller~n") end, leveled_pclerk:rollclerk_close(State#state.roll_clerk), diff --git a/test/end_to_end/basic_SUITE.erl b/test/end_to_end/basic_SUITE.erl index 9096bda..5514f10 100644 --- a/test/end_to_end/basic_SUITE.erl +++ b/test/end_to_end/basic_SUITE.erl @@ -16,7 +16,7 @@ all() -> [ many_put_fetch_head, journal_compaction, fetchput_snapshot, - load_and_count , + load_and_count, load_and_count_withdelete, space_clear_ondelete ].