+1 (non-binding) On Thu, Aug 13, 2026 at 10:49 AM Amogh Jahagirdar <[email protected]> wrote:
> +1 (binding) Thanks Huaxin! > > On Thu, Aug 13, 2026 at 10:46 AM Anoop Johnson <[email protected]> wrote: > >> +1 (non-binding) to deprecate equality deletes in v4. Thank you, Huaxin! >> >> On Thu, Aug 13, 2026 at 10:36 AM Ryan Blue <[email protected]> wrote: >> >>> +1 (binding) to deprecate equality deletes. Thanks, Huaxin! >>> >>> Ryan >>> >>> On Wed, Aug 12, 2026 at 8:16 PM huaxin gao <[email protected]> >>> wrote: >>> >>>> Hi Manu, >>>> >>>> >>>> No rewrite of the existing manifests is needed. The V4 root manifest >>>> references the existing V2/V3 manifests as-is (data manifests and the older >>>> delete manifests), so upgrade stays metadata-only regardless of table size; >>>> only the new top-level V4 metadata is written. The equality deletes in >>>> those carried-over delete manifests are still applied on read (with 2-phase >>>> planning) until they age off or are converted to DVs by a separate >>>> maintenance action. >>>> >>>> >>>> Thanks, >>>> >>>> Huaxin >>>> >>>> On Thu, Aug 13, 2026 at 10:18 AM Manu Zhang <[email protected]> >>>> wrote: >>>> >>>>> Hi Huaxin, >>>>> >>>>> To clarify the third point: will upgrading a V2/V3 table to a V4 table >>>>> require a manifest rewrite? If so, how will that process be handled? >>>>> >>>>> Thanks, >>>>> Manu >>>>> >>>>> >>>>> On Thu, Aug 13, 2026 at 10:07 AM huaxin gao <[email protected]> >>>>> wrote: >>>>> >>>>>> 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 >>>>>> >>>>>
