Skip to content

Conversation

@hantangwangd
Copy link
Contributor

@hantangwangd hantangwangd commented Jan 24, 2026

When deleting data files through DeleteFiles.deleteFromRowFilter, the manifest file was updated with incorrect partition boundary values if the target table is partitioned by columns of binary type.

This is mainly because in PartitionSummary.updateFields, the update of PartitionFieldStats's min/max field directly references a byte array that could be reused by ManifestReader when reading multiple files.

This PR fixes it by preventing PartitionFieldStats from referencing arrays that could be reused and modified. The added test case can stably reproduce this issue.

Fix issue #15128

When deleting data files through `DeleteFiles.deleteFromRowFilter`,
the manifest file was updated with incorrect partition boundary values
if the target table is partitioned by columns of `binary` type.

This is mainly because in `PartitionSummary.updateFields`, the update
of `PartitionFieldStats`'s min/max field directly references a byte
array that could be reused by `ManifestReader` when reading multiple
files.
@hantangwangd hantangwangd changed the title Fix incorrect partition bounds calculation in manifest on deletion Core: Fix incorrect partition bounds calculation in manifest on deletion Jan 24, 2026
@hantangwangd hantangwangd marked this pull request as ready for review January 24, 2026 14:25
@huaxingao
Copy link
Contributor

@nastra @szehon-ho Would you be interested in taking a quick look at this PR? I’ve approved, but would like one more approval before merging.

Copy link
Contributor

@singhpk234 singhpk234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as well, thanks @hantangwangd !

@huaxingao huaxingao merged commit b7181e8 into apache:main Jan 28, 2026
32 checks passed
@huaxingao
Copy link
Contributor

Thanks @hantangwangd for the PR! Thanks @singhpk234 @szehon-ho for the review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants