Nightly gc deletes Flow artifacts once the grace period passes issue #126 closed: completed andymccall opened this · 0 comments
closed by change 4597750166e7 ·
andymccall referenced by change 13b27cb2200c on main ·
closed by change 4597750166e7 ·
andymccall referenced by change 13b27cb2200c on main ·
Flow artifacts are stored with store_blob in the repository's store and referenced only from the database (flow_artifacts.blob). The nightly gc (maintenance.rs gc_all -> Repo::gc_with) keeps what bookmarks, operations, checkpoints, tags and reference attestations reach, and nothing reaches an artifact: each one becomes unreachable at once and is pruned once core.gc-grace (14 days) has passed. Coverage reports (whose per-line view rereads the blob), JUnit reports and every dist file a run kept would vanish from runs older than two weeks; the hub has been up since 2026-09-27.
Fix: gc takes extra roots (a blob and its chunks), and the hub passes every artifact blob its database names for that repository. Prerequisite for keeping report bundles per job (Reports design).