jianguotian opened a new pull request, #9680:
URL: https://github.com/apache/paimon/pull/9680

   ### Purpose
   
   Append-only compaction currently consumes every reader batch row by row, 
even when a format reader can expose the complete logical batch as 
`BundleRecords`.
   
   This PR adds a format-neutral Core bridge for bundle-capable compaction 
readers:
   
   - Introduce `BundleRecordIterator` to expose all unconsumed logical rows as 
a borrowed bundle.
   - Let `BaseAppendFileStoreWrite.compactRewrite` write such bundles directly, 
while always releasing each batch and closing the reader on success or failure.
   - Preserve bundle iterator capabilities only through a full identity 
mapping. Projection/reordering, partition injection, row tracking, and ordinary 
iterators keep the existing row fallback.
   
   This PR intentionally provides only the Core bridge. Format-specific bundle 
producers and direct writers can be added in follow-up PRs.
   
   This complements #9660, which adds a Parquet row-group copy fast path. Both 
touch `BaseAppendFileStoreWrite`, so the PR merged second may need a small 
rebase.
   
   ### Tests
   
   - JDK 8: `ColumnarRowIteratorTest` and `BaseAppendFileStoreWriteTest` (8 
tests passed).
   - JDK 11: `ColumnarRowIteratorTest` and `BaseAppendFileStoreWriteTest` (8 
tests passed).
   - Covered identity versus transformed mappings, direct bundle writes, 
borrowed-batch release after write failure, and row fallback for stateful 
row-tracking iterators.
   


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