From 1537334fbdea06acfc3e292ad504a4e2637d5b1e Mon Sep 17 00:00:00 2001 From: martinsumner Date: Mon, 12 Dec 2016 18:17:53 +0000 Subject: [PATCH] Ensure fetch still works when delete_pending --- src/leveled_sft.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/leveled_sft.erl b/src/leveled_sft.erl index 57e7a63..286ed60 100644 --- a/src/leveled_sft.erl +++ b/src/leveled_sft.erl @@ -402,7 +402,13 @@ reader(close, _From, State) -> {stop, normal, ok, State}. delete_pending({get_kv, Key}, _From, State) -> - Reply = fetch_keyvalue(State#state.handle, State, Key), + Reply = + case leveled_tinybloom:check({hash, Hash}, State#state.bloom) of + false -> + not_present; + true -> + fetch_keyvalue(State#state.handle, State, Key) + end, {reply, Reply, delete_pending, State, ?DELETE_TIMEOUT}; delete_pending({get_kvrange, StartKey, EndKey, ScanWidth}, _From, State) -> Reply = pointer_append_queryresults(fetch_range_kv(State#state.handle,