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]
