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

2 participants