uros-b commented on code in PR #18301:
URL: https://github.com/apache/iceberg/pull/18301#discussion_r4144065026
##########
format/spec.md:
##########
@@ -1355,7 +1357,14 @@ Notes:
### Delete Formats
-This section details how to encode row-level deletes in Iceberg delete files.
Row-level deletes are added by v2 and are not supported in v1. Deletion vectors
are added in v3 and are not supported in v2 or earlier. Position delete files
must not be added to v3 tables, but existing position delete files are valid.
Equality delete files must not be added to v4 tables, but existing equality
delete files are valid.
+This section details how to encode row-level deletes in Iceberg delete files.
+
+Row-level deletes have changed across Iceberg versions:
+
+* v4 allows writing only deletion vectors that are co-located with data file
metadata
Review Comment:
The new v4 bullet "v4 allows writing only deletion vectors that are
co-located with data file metadata" contradicts the merged spec. The v4 change
list (lines 65-66) ratifies only relative locations and the equality-delete
prohibition — nothing about co-location. The unchanged line 664 ("A manifest
may store either data files or delete files, but not both") and line 1371 ("A
separate set of manifests is used for delete files and DVs ... Deletion vector
metadata must include the referenced data file") make DV/data co-location
impossible under the normative rules this PR leaves in place, in v4 exactly as
in v3. The word "co-located" appears nowhere else in the spec; it describes the
unratified #16025 design and could mislead a v4 implementer into thinking the
existing delete-manifest DV mechanism is disallowed. Fix: drop the qualifier —
e.g. "v4 allows writing only deletion vectors (tracked in delete manifests);
new equality deletes are prohibited."
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]