diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index 653c2a8..96187f5 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -1450,8 +1450,7 @@ roll_memory(State, true) -> %% the result tuple includes the level at which the result was found. timed_fetch_mem(Key, Hash, Manifest, L0Cache, L0Index, Timings) -> SW = os:timestamp(), - {R, Level} = - fetch_mem(Key, Hash, Manifest, L0Cache, L0Index, fun timed_sst_get/4), + {R, Level} = fetch_mem(Key, Hash, Manifest, L0Cache, L0Index), UpdTimings = update_timings(SW, Timings, R, Level), {R, UpdTimings}. @@ -1463,10 +1462,10 @@ timed_fetch_mem(Key, Hash, Manifest, L0Cache, L0Index, Timings) -> %% Fetch the result from the penciller, starting by looking in the memory, %% and if it is not found looking down level by level through the LSM tree. plain_fetch_mem(Key, Hash, Manifest, L0Cache, L0Index) -> - R = fetch_mem(Key, Hash, Manifest, L0Cache, L0Index, fun sst_get/4), + R = fetch_mem(Key, Hash, Manifest, L0Cache, L0Index), element(1, R). -fetch_mem(Key, Hash, Manifest, L0Cache, L0Index, FetchFun) -> +fetch_mem(Key, Hash, Manifest, L0Cache, L0Index) -> PosList = case L0Index of none -> @@ -1477,7 +1476,7 @@ fetch_mem(Key, Hash, Manifest, L0Cache, L0Index, FetchFun) -> L0Check = leveled_pmem:check_levelzero(Key, Hash, PosList, L0Cache), case L0Check of {false, not_found} -> - fetch(Key, Hash, Manifest, 0, FetchFun); + fetch(Key, Hash, Manifest, 0, fun timed_sst_get/4); {true, KV} -> {KV, memory} end. @@ -1516,9 +1515,6 @@ timed_sst_get(PID, Key, Hash, Level) -> T0 = timer:now_diff(os:timestamp(), SW), log_slowfetch(T0, R, PID, Level, ?SLOW_FETCH). -sst_get(PID, Key, Hash, Level) -> - leveled_sst:sst_get(PID, Key, Hash). - log_slowfetch(T0, R, PID, Level, FetchTolerance) -> case {T0, R} of {T, R} when T < FetchTolerance ->