From cbf6e26fc8ec123f4434957ef8a5565e2ec0f817 Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Wed, 16 May 2018 15:11:18 +0100 Subject: [PATCH] Revert "Accumulate keys in check_blocks" This reverts commit 5414e18047f3a6c064c2944109ea1c7caf1c0612. --- src/leveled_sst.erl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/leveled_sst.erl b/src/leveled_sst.erl index 0ac2dec..9ad4cc7 100644 --- a/src/leveled_sst.erl +++ b/src/leveled_sst.erl @@ -369,6 +369,7 @@ sst_getkvrange(Pid, StartKey, EndKey, ScanWidth) -> %% leveled_tictac sst_getfilteredrange(Pid, StartKey, EndKey, ScanWidth, SegList) -> SegList0 = tune_seglist(SegList), + io:format("Using tuned seglist ~w~n", [SegList0]), case gen_fsm:sync_send_event(Pid, {get_kvrange, StartKey, EndKey, @@ -1257,12 +1258,9 @@ generate_binary_slot(Lookup, KVL, PressMethod, BuildTimings0) -> % Acc should start as not_present if LedgerKey is a key, and a list if % LedgerKey is false -check_blocks([], _Handle, _StartPos, _BlockLengths, _PosBinLength, - _LedgerKeyToCheck, _PressMethod, Acc) when is_list(Acc) -> - lists:reverse(Acc); check_blocks([], _Handle, _StartPos, _BlockLengths, _PosBinLength, _LedgerKeyToCheck, _PressMethod, Acc) -> - Acc; % Should be not_present only? + Acc; check_blocks([Pos|Rest], Handle, StartPos, BlockLengths, PosBinLength, LedgerKeyToCheck, PressMethod, Acc) -> {BlockNumber, BlockPos} = revert_position(Pos), @@ -1280,10 +1278,8 @@ check_blocks([Pos|Rest], Handle, StartPos, BlockLengths, PosBinLength, _ -> case LedgerKeyToCheck of false -> - check_blocks(Rest, Handle, StartPos, - BlockLengths, PosBinLength, - LedgerKeyToCheck, PressMethod, - [{K, V}|Acc]); + io:format("{K, V} found in block of ~w~n", [{K, V}]), + Acc ++ [{K, V}]; _ -> check_blocks(Rest, Handle, StartPos, BlockLengths, PosBinLength, @@ -1386,8 +1382,11 @@ read_slots(Handle, SlotList, {SegList, BlockIndexCache}, PressMethod) -> % other keys case find_pos(BlockIdx, SegList, [], 0) of [] -> + io:format("Empty postion list for slot~n"), Acc; PositionList -> + io:format("~w positions found for slot~n", + [length(PositionList)]), Acc ++ check_blocks(PositionList, Handle, SP, @@ -1687,6 +1686,7 @@ find_pos(<<1:1/integer, PotentialHit:15/integer, T/binary>>, HashList, PosList, Count) when is_list(HashList) -> case lists:member(PotentialHit, HashList) of true -> + io:format("Found pos based on ~w~n", [PotentialHit]), find_pos(T, HashList, PosList ++ [Count], Count + 1); false -> find_pos(T, HashList, PosList, Count + 1)