linhongyu510 commented on code in PR #3145:
URL: https://github.com/apache/iceberg-rust/pull/3145#discussion_r4196918008
##########
crates/iceberg/src/arrow/caching_delete_file_loader.rs:
##########
@@ -334,10 +334,9 @@ impl CachingDeleteFileLoader {
/// Validates a deletion-vector task and returns what the read needs as
typed values:
/// `(start, len, referenced data file path, expected cardinality)`.
///
- /// The spec requires `referenced_data_file`, `content_offset` and
`content_size_in_bytes` on
- /// a deletion vector, and a deletion vector is always built from a
manifest entry, so it
- /// always carries `record_count`. A missing one is a manifest-entry
inconsistency rather
- /// than an I/O failure.
+ /// Builder-created tasks are validated up front, but deserialized scan
plans can bypass the
Review Comment:
You're right: deserialization now goes through `FileScanTaskDeleteFileSerde`
and `builder().build()`, so the bypass claim was stale.
The comment in `66d3d96b7` now describes this helper as extracting the
optional fields into the concrete values needed by the read, and states that
both builder construction and deserialization validate the task. The fallible
extraction remains unchanged.
This follow-up changes only the comment. `cargo fmt --all -- --check` and
`git diff --check` pass; I did not rerun runtime tests for this
documentation-only edit. Prepared with AI assistance.
--
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]