JingsongLi commented on PR #8796:
URL: https://github.com/apache/paimon/pull/8796#issuecomment-5043553270

   This change breaks trailing row-ID gap filling. `finish()` calls 
`fillGapUntil(firstRowId + numRecords)` without a `fillerSourceRow`. If the 
only deleted/skipped rows are at the end of the file range, none of the 
preceding `write()` calls observes a gap, so `fillerRow` is never initialized 
and the commit fails with `Cannot fill row ID gaps before any real row`.
   
   For example, with a file covering row IDs `[0, 5)`, deleting row ID `4` and 
then updating row ID `2` through MERGE reliably reproduces the failure.
   
   We still need to cache the first real row eagerly. The new `createFillerRow` 
implementation can avoid copying raw BLOB fields without delaying 
initialization until a gap is encountered. Please also add a regression test 
where only the last row of a target file is deleted before a MERGE update.


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