+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
>>>>>
>>>>

Reply via email to