jackylee-ch commented on PR #10161: URL: https://github.com/apache/paimon/pull/10161#issuecomment-5967554182
You're right — the old test wrote with `ignore-delete=true`, so the native `RowKindFilter` (and the Python writer's `_VALUE_KIND=0` hardcode + merge buffer) stripped the retracts before persist; the file was all-INSERT and the skip branch never ran. Replaced it with a hand-crafted fixture (`partial_update_persisted_retraction_test.py`): a level-0 KV data file whose physical `_VALUE_KIND` carries DELETE(3) and UPDATE_BEFORE(1), described by a `DataFileMeta` with `delete_row_count=2`, committed through the normal commit path (real manifest + snapshot). The positive `delete_row_count` is load-bearing: it makes the split non-raw-convertible so the read routes through `SortMergeReaderWithMinHeap` → `PartialUpdateMergeFunction` rather than `RawFileSplitRead`. Covers both the existing key (1: INSERT then DELETE → keeps the insert) and the retract-only key (2: UPDATE_BEFORE → absent). Non-vacuity: disabling only the skip branch makes the first retract raise `NotImplementedError` (proving the retract actually reaches the merge function). Pinned to the Python lane so native CI lanes don't force it onto the native backends. Pushed in c903f8423. -- 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]
