An unwise sequence of backup and restore actions can produce a database that refers to missing blobs. (Example, drop a repository, restore the component database to an earlier state, start the system.)
- Blob store compaction does not delete blobs that are still referenced by component metadata.
- Mass deletions/compactions (e.g. dropping a repo) should still be performant.
- Make an entry in the long-running task log to record:
- Every blob deletion that happens in compact
- Every blob we choose NOT to delete due to a reference from component metadata