wirybeaver opened a new pull request, #921: URL: https://github.com/apache/iceberg-cpp/pull/921
## Summary - add a narrow `CompactionExecutor` API that consumes planner groups and rewrites live rows through `FileScanTaskReader` and `DataWriter` - commit all replacement data files in one `RewriteFiles` operation while removing dangling deletion-vector manifest entries - preserve data sequence numbers and v3 row-lineage columns - retain shared Puffin objects when only one contained deletion vector becomes obsolete - clean generated data files on definite failures and relinquish ownership on commit-state-unknown - synchronize the Ticket 04 correctness delta from `c11cea2` Closes #916. Depends on #913, #914, #915, #918, and #919. ## Test plan - `./build-clang/src/iceberg/test/data_test --gtest_filter='CompactionExecutorTest.*:PositionDeleteUpdateTest.*:PositionDeleteV3Test.*'` — 10 passed - `./build-clang/src/iceberg/test/data_test` — 183 passed - `./build-clang/src/iceberg/test/compaction_planner_test` — 1 passed - `/tmp/iceberg-cpp-precommit/bin/pre-commit run --all-files` — all hooks passed The executor tests cover physical delete application, removal of dangling DV entries, shared Puffin safety, definite-failure cleanup, commit-state-unknown ownership, data sequence preservation, and v3 row lineage. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
