feat(table-catalog): add manifest reachability cleanup (#3484)

Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
This commit is contained in:
Henry Guo
2026-06-15 22:29:23 +08:00
committed by GitHub
parent b387689f26
commit 65c724c786
6 changed files with 1355 additions and 31 deletions
+2 -2
View File
@@ -150,10 +150,10 @@ current unsupported inventory is:
- credential vending: automated after table bootstrap with exact-prefix validation and a data-plane scope probe; full no-long-term-data-credential bootstrap is not claimed
- background maintenance worker: controlled run-once and heartbeat endpoints are registered; continuous in-process scheduling is not claimed
- manifest/data reachability cleanup: fail-closed reachability graph reporting only; metadata cleanup must not delete manifest, data, or delete files
- manifest/data reachability cleanup: metadata maintenance reads manifest-list and manifest Avro references, reports manifest/data/delete reachability, and deletes only unreferenced table objects that pass the safety window
- snapshot expiration dry-run planning and manual catalog commit: supported through metadata maintenance reports
- automatic maintenance scheduling: external scheduler hook supported through the worker run endpoint; built-in periodic scheduling is not claimed
- compaction rewrite: unsupported; planning reports fail closed until manifest Avro reading and rewrite support are implemented
- compaction rewrite: unsupported; planning reports fail closed until data file rewrite support is implemented
- Iceberg views: stable unsupported routes are registered and return explicit unsupported JSON
- external catalog bridges: metadata import/register is supported, but Polaris/Glue/DLF/Hive synchronization is unsupported
- multi-table transactions: not a short-term production claim
+3 -3
View File
@@ -140,9 +140,9 @@ UNSUPPORTED_INVENTORY: list[dict[str, str]] = [
},
{
"capability": "manifest-data-reachability-cleanup",
"status": "fail-closed-reporting",
"status": "conservative-cleanup-supported",
"roadmap_area": "reachability-cleanup",
"expected_behavior": "metadata maintenance reports expose reachability graph status and referenced manifest-list objects, but cleanup must not delete manifest, data, or delete files",
"expected_behavior": "metadata maintenance reads manifest-list and manifest Avro references, reports retained manifest/data/delete objects, and deletes only unreferenced table objects that pass the safety window",
},
{
"capability": "snapshot-expiration",
@@ -154,7 +154,7 @@ UNSUPPORTED_INVENTORY: list[dict[str, str]] = [
"capability": "compaction-rewrite",
"status": "planning-only",
"roadmap_area": "snapshot-maintenance",
"expected_behavior": "compaction planning fails closed when manifest Avro reading is required; no data file rewrite or automatic compaction is claimed",
"expected_behavior": "compaction planning fails closed until data file rewrite support is implemented; no data file rewrite or automatic compaction is claimed",
},
{
"capability": "iceberg-views",