Use hibernate not garbage_collect
Use hibernation rather than manual garbage_collect calls as per standard recommendation. Hibernate will be default gabage_collect anyway. Maybe help with SST files that naturally go quiet. Plus typos from previous commit in leveled_cdb.
This commit is contained in:
parent
5a853ee44d
commit
85bfa7fbb4
2 changed files with 7 additions and 8 deletions
|
@ -58,7 +58,8 @@
|
|||
{gen_fsm, sync_send_event, 2},
|
||||
{gen_fsm, send_event, 2},
|
||||
{gen_fsm, sync_send_all_state_event, 3},
|
||||
{gen_fsm, send_all_state_event, 2}]}).
|
||||
{gen_fsm, send_all_state_event, 2},
|
||||
{gen_fsm, reply, 2}]}).
|
||||
-endif.
|
||||
|
||||
-ifdef(slow_test).
|
||||
|
@ -441,7 +442,7 @@ starting({open_writer, Filename}, _From, State) ->
|
|||
last_position=LastPosition,
|
||||
last_key=LastKey,
|
||||
filename=Filename,
|
||||
hashtree=HashTree}
|
||||
hashtree=HashTree},
|
||||
{reply, ok, writer, State0, hibernate};
|
||||
starting({open_reader, Filename}, _From, State) ->
|
||||
leveled_log:save(State#state.log_options),
|
||||
|
@ -450,7 +451,7 @@ starting({open_reader, Filename}, _From, State) ->
|
|||
State0 = State#state{handle=Handle,
|
||||
last_key=LastKey,
|
||||
filename=Filename,
|
||||
hash_index=Index}
|
||||
hash_index=Index},
|
||||
{reply, ok, reader, State0, hibernate};
|
||||
starting({open_reader, Filename, LastKey}, _From, State) ->
|
||||
leveled_log:save(State#state.log_options),
|
||||
|
@ -459,7 +460,7 @@ starting({open_reader, Filename, LastKey}, _From, State) ->
|
|||
State0 = State#state{handle=Handle,
|
||||
last_key=LastKey,
|
||||
filename=Filename,
|
||||
hash_index=Index}
|
||||
hash_index=Index},
|
||||
{reply, ok, reader, State0, hibernate}.
|
||||
|
||||
writer({get_kv, Key}, _From, State) ->
|
||||
|
|
|
@ -717,8 +717,7 @@ reader(close, _From, State) ->
|
|||
{stop, normal, ok, State}.
|
||||
|
||||
reader({switch_levels, NewLevel}, State) ->
|
||||
erlang:garbage_collect(self()),
|
||||
{next_state, reader, State#state{level = NewLevel}}.
|
||||
{next_state, reader, State#state{level = NewLevel}, hibernate}.
|
||||
|
||||
|
||||
delete_pending({get_kv, LedgerKey, Hash}, _From, State) ->
|
||||
|
@ -792,8 +791,7 @@ handle_info(tidyup_after_startup, delete_pending, State) ->
|
|||
handle_info(tidyup_after_startup, StateName, State) ->
|
||||
case is_process_alive(State#state.starting_pid) of
|
||||
true ->
|
||||
erlang:garbage_collect(self()),
|
||||
{next_state, StateName, State};
|
||||
{next_state, StateName, State, hibernate};
|
||||
false ->
|
||||
{stop, normal, State}
|
||||
end.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue