Skip to content

Conversation

@BiteTheDDDDt
Copy link
Contributor

What problem does this PR solve?

Currently, the reading and writing of conjuncts are not using the same lock, which may cause errors when reading conjuncts during vector expansion.

This pull request refactors how conjunct contexts are cloned in the scan operator pipeline. The main change is moving the responsibility for cloning conjunct contexts from the ScanLocalState class to the RuntimeFilterConsumerHelper class, simplifying the interface and improving encapsulation.

Refactoring and responsibility shift:

  • Removed the clone_conjunct_ctxs method from ScanLocalState and its base class, along with related members such as _conjunct_lock. This simplifies the scan local state classes and reduces their responsibilities. [1] [2] [3] [4]
  • Added a new clone_conjunct_ctxs method to RuntimeFilterConsumerHelper, which now handles cloning of conjunct contexts, including locking and context management. [1] [2]

Integration and usage updates:

  • Updated the Scanner::try_append_late_arrival_runtime_filter method to use the new clone_conjunct_ctxs method from RuntimeFilterConsumerHelper instead of the previous approach.

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Thearas
Copy link
Contributor

Thearas commented Jan 8, 2026

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?

@BiteTheDDDDt
Copy link
Contributor Author

run buildall

@BiteTheDDDDt
Copy link
Contributor Author

run buildall

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jan 8, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 8, 2026

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 8, 2026

PR approved by anyone and no changes requested.

Copy link
Contributor

@HappenLee HappenLee left a comment

Choose a reason for hiding this comment

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

LGTM

@hello-stephen
Copy link
Contributor

skip check_coverage

@BiteTheDDDDt BiteTheDDDDt merged commit fce0b46 into apache:master Jan 9, 2026
28 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/4.0.x dev/4.0.x-conflict reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants