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]

Reply via email to