Hi all, Following the discussion thread "[DISCUSS] Deprecate Equality Deletes in Iceberg V4" [1], I'd like to call a vote on the following proposal for the V4 table spec.
Proposal -------- 1. Writing new equality deletes is forbidden for V4 tables: the V4 metadata will not define equality deletes as an allowed entry type. 2. Reading equality deletes remains supported in the reference implementation for backward compatibility, both for existing V2/V3 tables and for equality deletes carried over into upgraded V4 tables. 3. Upgrading a V2/V3 table to V4 is metadata-only (no synchronous rewrite of data or delete files). Existing equality deletes remain in carried- over V2/V3 delete manifests; converting them to deletion vectors is a separate, optional maintenance action. Rationale --------- Equality deletes impose an asymmetric cost paid on every read, complicate the format, and block features such as CDC, row lineage, and incremental index/materialized-view maintenance. Deletion vectors make deletion a flat, one-time cost, and the Flink ConvertEqualityDeletes work demonstrates a viable replacement path, so we do not need the full replacement completed before forbidding new equality deletes in V4. The vote will be open for at least 72 hours. [ ] +1 Forbid writing equality deletes in V4 [ ] +0 [ ] -1 Do not forbid (please explain) [1] https://lists.apache.org/thread/ks01jpv40qjlvz4yop5tlqv4x5oxbwy6 Thanks, Huaxin
