You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "manuzhang (via GitHub)" <gi...@apache.org> on 2026/07/01 02:58:04 UTC
Re: [PR] Flink: Resolve unpartitioned equality deletes across all partitions [iceberg]
manuzhang commented on code in PR #17018:
URL: https://github.com/apache/iceberg/pull/17018#discussion_r3502988689
##########
flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/EqualityConvertReader.java:
##########
@@ -194,17 +193,20 @@ private void processDeleteFile(
ContentFile<?> file = task.file();
int specId = file.specId();
+ // An unpartitioned equality delete applies globally; a partitioned one applies only within its
+ // own spec. Scope accordingly, so the index resolves correctly across specs.
+ int deleteSpecId =
+ table.specs().get(specId).isUnpartitioned() ? IndexCommand.GLOBAL_DELETE_SPEC_ID : specId;
Review Comment:
In a long-running converter, a partition spec added after reader startup may not be in that stale table, even though the planner already serialized the correct PartitionSpec in EqualityDeleteFileScanTask. Use `task.spec().isUnpartitioned()` here to avoid failing or mis-scoping deletes after partition evolution.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org