From ec08d1ab9784970d82db7e85a0596ab01fc8f123 Mon Sep 17 00:00:00 2001 From: martinsumner Date: Tue, 17 Jan 2017 10:37:46 +0000 Subject: [PATCH] Must remove before we insert - cannot safely if overlapping with insertions --- src/leveled_pclerk.erl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/leveled_pclerk.erl b/src/leveled_pclerk.erl index 8000dad..983327a 100644 --- a/src/leveled_pclerk.erl +++ b/src/leveled_pclerk.erl @@ -182,14 +182,15 @@ perform_merge(Manifest, Src, SinkList, SrcLevel, RootPath, NewSQN) -> ME end, SinkManifestList = lists:map(RevertPointerFun, SinkList), - Man0 = leveled_manifest:insert_manifest_entry(Manifest, - NewSQN, - SinkLevel, - Additions), - Man1 = leveled_manifest:remove_manifest_entry(Man0, + Man0 = leveled_manifest:remove_manifest_entry(Manifest, NewSQN, SinkLevel, SinkManifestList), + Man1 = leveled_manifest:insert_manifest_entry(Man0, + NewSQN, + SinkLevel, + Additions), + Man2 = leveled_manifest:remove_manifest_entry(Man1, NewSQN, SrcLevel,