summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-06-11 21:20:38 +0300
committerLars Wirzenius <liw@liw.fi>2017-06-11 21:20:38 +0300
commit05b9e1ec29c85cf6258be5114742d15277bbb550 (patch)
treee1e042755e0bc7adbb444bbd6176f10cd7fcf007
parent5ffd09cbb557c76a0f4909b4c8b001b0101f94b2 (diff)
downloadobnam-05b9e1ec29c85cf6258be5114742d15277bbb550.tar.gz
Fix: remove leaves that are no longer in leaf list
-rw-r--r--obnamlib/fmt_ga/cowtree.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/obnamlib/fmt_ga/cowtree.py b/obnamlib/fmt_ga/cowtree.py
index c4793a67..80fe3bee 100644
--- a/obnamlib/fmt_ga/cowtree.py
+++ b/obnamlib/fmt_ga/cowtree.py
@@ -69,6 +69,7 @@ class CowTree(object):
self._leaf_list.update_leaf(leaf_id, keys[0], keys[-1])
if len(leaf) > self._max_keys_per_leaf:
self._leaf_list.drop_leaf(leaf_id)
+ self._store.remove_leaf(leaf_id)
self._split_leaf(leaf)
def _split_leaf(self, leaf):
@@ -91,6 +92,7 @@ class CowTree(object):
self._leaf_list.drop_leaf(leaf_id)
leaf = self._store.get_leaf(leaf_id)
leaf.remove(key)
+ self._store.remove_leaf(leaf_id)
if len(leaf) > 0:
self._make_split_leaf(leaf, list(sorted(leaf.keys())))