diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-06-11 21:20:38 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-06-11 21:20:38 +0300 |
commit | 05b9e1ec29c85cf6258be5114742d15277bbb550 (patch) | |
tree | e1e042755e0bc7adbb444bbd6176f10cd7fcf007 | |
parent | 5ffd09cbb557c76a0f4909b4c8b001b0101f94b2 (diff) | |
download | obnam-05b9e1ec29c85cf6258be5114742d15277bbb550.tar.gz |
Fix: remove leaves that are no longer in leaf list
-rw-r--r-- | obnamlib/fmt_ga/cowtree.py | 2 |
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()))) |