ReferenceApplies to: Unified engine deployments
An Iceberg manifest lists data files or delete files and their metadata. Manifest optimization rewrites that metadata layout. Use it when file metadata is fragmented across many manifests, rather than when the data files themselves need compaction.
Before you start
Choose a writable Iceberg catalog and an unused practice namespace in Workbench. Native manifest optimization currently requires an existing format-v2 table. This example replaces only maintenance_docs.manifest_demo and uses inline rows.
Create writes, optimize, and verify
The aggregate before and after the call should return six rows and total amount 210. The 1 MiB metadata target is a small practice value. It does not set the size of Parquet data files.
Read the result
The CALL result has two counters:
A small table may have little to reorganize. Zero rewritten manifests can be a successful result. The number of data files and visible rows should not change because of a manifest-only rewrite.
Record the snapshot and history before the call, wait for successful publication, then refresh the table inspection. Recheck the same logical rows. On an active table, separate changes from concurrent writers from the effect of this operation.
Use the familiar alias
The same metadata action is available as rewrite_manifests. This example reuses the table created above and uses the instance’s metadata-size default.
The two names select the same action. You do not need to run both to maintain a table. Use one call per intended operation.
Know the boundary
Manifest optimization does not merge small Parquet data files, remove row-delete records, expire old snapshots, delete orphan files, or compute query statistics. Choose data compaction or delete compaction when the underlying file layout is the issue.
Clean up
See the procedure reference for argument names and defaults.Last modified on November 4, 2026