Problem
StarRocks reads Iceberg v2 tables with equality-delete files by applying them as a LEFT ANTI JOIN at query time. Equality deletes accumulate over time, so every read keeps paying the anti-join cost, and there is no way from StarRocks to compact them away.
Proposal
Add an Iceberg table procedure rewrite_equality_delete_files(), invoked via:
ALTER TABLE <iceberg_table> EXECUTE rewrite_equality_delete_files();
It converts the live equality-delete files of the current snapshot into position-delete files. The set of visible rows stays identical (deleted keys, NULL included, must not resurrect), but subsequent reads no longer pay the equality-delete anti-join.
Tracked by #73911.
Problem
StarRocks reads Iceberg v2 tables with equality-delete files by applying them as a LEFT ANTI JOIN at query time. Equality deletes accumulate over time, so every read keeps paying the anti-join cost, and there is no way from StarRocks to compact them away.
Proposal
Add an Iceberg table procedure
rewrite_equality_delete_files(), invoked via:It converts the live equality-delete files of the current snapshot into position-delete files. The set of visible rows stays identical (deleted keys, NULL included, must not resurrect), but subsequent reads no longer pay the equality-delete anti-join.
Tracked by #73911.