Repository navigation
fix(iceberg): reclaim unreachable aged manifest metadata - #923
efegokdemir wants to merge 1 commit into
Conversation
dca8e90 to
5302552
Compare
5302552 to
952be6c
Compare
|
Review note: the current CI run (Oct 6) fails in |
|
Thanks for this, and an apology owed first: this PR has been open since 19 September and nobody What shipped in #1107, for comparison with what you built here:
The two designs converged on the same core independently, which is some evidence the approach was One thing your PR has that ours does not, and it is the part worth keeping: the re-check We are also crediting you for this fix in the contributors list, on the basis that you implemented Closing as superseded by #1107. One process change on our side, so this does not happen to you For transparency on what comes next in this area: Arc's Iceberg exporter is now maintained |
@efegokdemir implemented the #835 orphan-manifest sweep independently in #923, opened three weeks before the fix that shipped (#1107) and not reviewed when that work started. Credited in the contributors list and in the #835 release-notes section, with a pointer to #1125 for the one check #923 carries that the shipped sweep does not.
Summary
Reclaim unreachable Iceberg manifest-list and manifest
.avrometadataolder than seven days without granting iceberg-go deletion authority
over Arc-owned Parquet data.
metadata versions, including directory-reader copies.
listings change, or the catalog advances during inspection.
.avrofiles in the table'smetadata directory.
reconciliations where the data-file set has not changed.
WithPostCommit(false)behaviour.Regression
Local validation
duckdb_arrow: passed.Scope and limitations
This addresses only orphaned manifest metadata. Growth of the
live manifest list remains unresolved.
Tests use local temporary storage. S3/Azure integration tests,
repository-wide CI and concurrent external-writer scenarios have
not been verified. Cleanup assumes the exporter owns writes to
the table's metadata directory.
ChatGPT assisted with implementation and tests. Local validation
was executed by the contributor.
Refs #835.