From 5a95e82af055364255fd6fa8ffd540ed4cdc722a Mon Sep 17 00:00:00 2001 From: Russell Brown Date: Tue, 18 Sep 2018 15:40:44 +0100 Subject: [PATCH] Callers of bucket list expect the traversal to be in order Due to the internal fold over buckets returning an un-reversed accumulator, the API bucketlist code caller's fold fun traversed the bucket list in reverse order. This lead to some inconsistencies when comparing a buckelist of all buckets, vs, first bucket only. i.e. the 'first' bucket passed to the foldfun was in fact the last bucket read from the ledger. --- src/leveled_runner.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/leveled_runner.erl b/src/leveled_runner.erl index 7cf720f..aa7885c 100644 --- a/src/leveled_runner.erl +++ b/src/leveled_runner.erl @@ -420,7 +420,7 @@ foldobjects_byindex(SnapFun, {Tag, Bucket, Field, FromTerm, ToTerm}, FoldFun) -> %%%============================================================================ get_nextbucket(_NextB, _NextK, _Tag, _LS, BKList, {Limit, Limit}) -> - BKList; + lists:reverse(BKList); get_nextbucket(NextBucket, NextKey, Tag, LedgerSnapshot, BKList, {C, L}) -> Now = leveled_util:integer_now(), StartKey = leveled_codec:to_ledgerkey(NextBucket, NextKey, Tag),