Delete obsolete sub-block signatures when garbage collecting.
[cumulus.git] / lbs.py
diff --git a/lbs.py b/lbs.py
index c2fd75b..392bb04 100644 (file)
--- a/lbs.py
+++ b/lbs.py
@@ -541,6 +541,11 @@ class LocalDatabase:
                                            where expire_time < ?)""",
                     (last_snapshotid,))
 
+        # Remove sub-block signatures for deleted objects.
+        cur.execute("""delete from subblock_signatures
+                       where blockid not in
+                           (select blockid from block_index)""")
+
     # Segment cleaning.
     class SegmentInfo(Struct): pass