From 5312806592a13dea8a127e0c057ec794d92a3904 Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Fri, 2 Mar 2018 08:16:34 +0000 Subject: [PATCH] Stop Iterator re-use The IMM iterator should not be reused, as it has already been filtered for a query. so if reused for a different query incorrect and unexpected results may occur. This reuse had been stopped by a previous commit, and this cleans up subsequently unused code. --- src/leveled_penciller.erl | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index f2d1454..ba5e667 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -1273,15 +1273,6 @@ keyfolder({[{IMMKey, IMMVal}|NxIMMiterator], SSTiterator}, {SegmentList, MaxKeys}) -> {StartKey, EndKey} = KeyRange, case {IMMKey < StartKey, leveled_codec:endkey_passed(EndKey, IMMKey)} of - {true, _} -> - - % Normally everything is pre-filterd, but the IMM iterator can - % be re-used and so may be behind the StartKey if the StartKey has - % advanced from the previous use - keyfolder({NxIMMiterator, SSTiterator}, - KeyRange, - {AccFun, Acc}, - {SegmentList, MaxKeys}); {false, true} -> % There are no more keys in-range in the in-memory % iterator, so take action as if this iterator is empty