Skip to content

branch-4.1: [fix](be) Move partitioned agg shared cleanup to shared state #63253#63287

Open
github-actions[bot] wants to merge 1 commit into
branch-4.1from
auto-pick-63253-branch-4.1
Open

branch-4.1: [fix](be) Move partitioned agg shared cleanup to shared state #63253#63287
github-actions[bot] wants to merge 1 commit into
branch-4.1from
auto-pick-63253-branch-4.1

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Cherry-picked from #63253

### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: Partitioned aggregation source close cleaned a shared
state owned by both sink and source pipelines. This could make shared
spill cleanup depend on a local source operator lifecycle even though
the state is shared. This PR moves leftover spill file cleanup to
`PartitionedAggSharedState` itself and makes `close()` idempotent.

### Release note

None

### Check List (For Author)

- Test: Manual test
    - `build-support/clang-format.sh`
    - `build-support/check-format.sh`
    - `git diff --check`
- Behavior changed: No
- Does this need documentation: No
@github-actions github-actions Bot requested a review from yiguolei as a code owner May 15, 2026 07:06
@hello-stephen
Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@hello-stephen
Copy link
Copy Markdown
Contributor

run buildall

@mrhhsg
Copy link
Copy Markdown
Member

mrhhsg commented May 17, 2026

/review

Copy link
Copy Markdown
Contributor Author

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary: I did not find any critical blocking issues in this PR. The cleanup ownership move from the source operator close path to PartitionedAggSharedState lifetime is consistent with the shared ownership model, and the CAS guard makes close() idempotent for concurrent/repeated calls. The source-local queue still owns files after they are moved out of _spill_partitions, so the existing local cleanup path remains responsible for those files.

Critical checkpoints:

  • Correctness/lifecycle: No blocking issue found. Shared-state leftover spill files are cleaned at shared-state destruction, while files moved to the source local queue are still cleaned by PartitionedAggLocalState::close().
  • Concurrency/idempotency: No blocking issue found. compare_exchange_strong prevents duplicate shared-state cleanup.
  • Resource management: No blocking issue found in the changed paths.
  • Tests/validation: git diff --check passed. I attempted build-support/check-format.sh --diff 89da166, but this runner does not have clang-format 16, so the repository format script could not run here.
  • Existing review threads: none were present, so no duplicate comments were submitted.
  • User focus points: no additional user-provided review focus was specified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants