diff --git a/src/couch/src/couch_key_tree.erl b/src/couch/src/couch_key_tree.erl index 84c78614883..6c8637b42e7 100644 --- a/src/couch/src/couch_key_tree.erl +++ b/src/couch/src/couch_key_tree.erl @@ -496,7 +496,7 @@ stem(Trees, Limit) -> {NewSeen, NewBranches} = stem_tree(Tree, Limit, Seen), {NewSeen, NewBranches ++ TreeAcc} end, - {sets:new(), []}, + {#{}, []}, Trees ), lists:sort(Branches) @@ -553,11 +553,11 @@ stem_tree(Depth, {Key, Val, Children}, Limit, Seen0) -> end. check_key(Key, Seen) -> - case sets:is_element(Key, Seen) of - true -> + case Seen of + #{Key := true} -> throw(dupe_keys); - false -> - sets:add_element(Key, Seen) + _ -> + Seen#{Key => true} end. repair_tree(Trees, Limit) ->