Skip to content

[fix](cloud) Fix group commit routing for virtual compute groups - #66585

Open
Yukang-Lian wants to merge 1 commit into
apache:masterfrom
Yukang-Lian:agent/fix-vcg-group-commit-backend-selection
Open

[fix](cloud) Fix group commit routing for virtual compute groups#66585
Yukang-Lian wants to merge 1 commit into
apache:masterfrom
Yukang-Lian:agent/fix-vcg-group-commit-backend-selection

Conversation

@Yukang-Lian

Copy link
Copy Markdown
Collaborator

What problem does this PR solve?

Issue Number: None

Related PR: #61555

Problem Summary:

Group commit resolves a virtual compute group to its active physical compute group when collecting backend candidates. However, it previously used the original virtual name for the backend cache and membership validation. Because each backend carries its physical compute group name, all healthy candidates were rejected and group commit stream loads failed with No suitable backend.

This change resolves the physical compute group once on the master and consistently uses that request-level snapshot for cache lookup, candidate selection, and backend membership validation. A failover therefore uses a separate physical-group cache key and cannot reuse a backend from the previous active group.

The existing VCG Docker suite now enables synchronous group commit before and after failover and explicitly exercises both the master HTTP path and follower-to-master forwarding path.

Release note

Fix group commit stream loads through virtual compute groups.

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

    Validation performed:

    • ./run-fe-ut.sh --run org.apache.doris.load.GroupCommitManagerTest (2 tests, 0 failures, 0 errors)
    • The targeted regression suite was loaded successfully by the regression framework. Its Docker execution was skipped locally because excludeDockerTest=true; CI is expected to run the actual cloud cluster scenario.
  • Behavior changed:

    • No.
    • Yes. Group commit requests through a virtual compute group now route to its active physical compute group.
  • 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

### What problem does this PR solve?

Issue Number: None

Related PR: apache#61555

Problem Summary: Group commit resolves a virtual compute group when collecting backend candidates, but previously validated and cached those backends with the original virtual name. Since backends carry the physical compute group name, every healthy candidate was rejected. Resolve the physical compute group once on the master and use it consistently for cache lookup, candidate selection, and membership validation.

### Release note

Fix group commit stream loads through virtual compute groups.

### Check List (For Author)

- Test
    - [x] Unit Test
    - [ ] Regression test (VCG Docker coverage added and loaded locally; the Docker cluster was not run locally)
- Behavior changed:
    - [x] Yes. Group commit requests through a virtual compute group now route to its active physical compute group.
- Does this need documentation?
    - [x] No.
@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?

@Yukang-Lian
Yukang-Lian marked this pull request as ready for review August 7, 2026 13:59
@Yukang-Lian

Copy link
Copy Markdown
Collaborator Author

/review

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Codex automated review failed and did not complete.

Error: All Codex review accounts are usage-limited; earliest retry is 2026-08-08T03:32:00Z.
Workflow run: https://github.com/apache/doris/actions/runs/31185300704

Please trigger /review again after that time.

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