fix(compaction): make sure that only one task is running at a time, refactor compaction manager creation and add test #201
Conversation
There was a problem hiding this comment.
Pull request overview
Improves compaction task lifecycle handling to prevent overlapping compaction executions by ensuring outstanding compaction work is joined before starting a new task or closing writers.
Changes:
- Make
CancelCompaction()synchronously wait for the active compaction future to finish, removing the “detached futures” list. - Update writer close-path comments to reflect “cancel + wait” behavior.
- Remove tracking/waiting of previously “cancelled” futures in the compaction future manager.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/paimon/core/mergetree/merge_tree_writer.h | Updates close-path comments to describe cancel + wait behavior. |
| src/paimon/core/compact/compact_future_manager.h | Changes cancellation semantics to move+wait the active future; removes cancelled futures tracking. |
| src/paimon/core/append/append_only_writer.cpp | Updates close-path comments to describe cancel + wait behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8465a81 to
02a3276
Compare
58bd188 to
18a4ca0
Compare
30fa282 to
07b29b2
Compare
Purpose
Tests
API and Format
Add options for pk compaction.
lookup-wait
Generative AI tooling
Generated-by: GitHub Copilot (GPT-5.3-Codex)