Skip to content

[branch-25.8.0] Backport MS-driven decommission and runtime config persistence (#523, #524) - #525

Closed
Al-assad wants to merge 3 commits into
apache:branch-25.8.0from
Al-assad:codex/backport-523-524-branch-25.8.0
Closed

Al-assad wants to merge 3 commits into
apache:branch-25.8.0from
Al-assad:codex/backport-523-524-branch-25.8.0

Conversation

@Al-assad

Copy link
Copy Markdown
Member

What problem does this PR solve?

Backport #524 and #523 to branch-25.8.0, in their upstream merge order:

Backport adaptations:

  • Regenerate deepcopy code against the release branch API, without importing unrelated readiness-probe changes.
  • Keep the runtime configuration PVC regression test and its fixtures without importing master-only storage-template tests.
  • Integrate decommission before the release branch's existing pre-apply and graceful rollout flow, retaining its graceful implementation and blocking attempts to disable an active decommission task.
  • Regenerate CRDs, including graceful-action status fields already present in the release branch Go API but missing from its generated schemas. A separate commit records this existing generation drift.

Release note

DDC decommission scale-down now uses MS completion and FE synchronization before removing backends and reducing replicas. Mutable FE/BE/MS configuration can survive Pod replacement using suitable existing PVCs. Existing clusters retain their previous configuration behavior until explicitly migrated; migration instructions are included.

Check List (For Author)

  • Test
    • Unit Test
    • Regression test
  • Behavior changed:
    • Yes. Backported decommission and runtime configuration persistence behavior described above.
  • Does this need documentation?
    • Yes. Includes the original scaling guides and runtime configuration persistence guide.

Validation:

  • go test -race ./pkg/common/utils/metaservice ./pkg/common/utils/mysql ./pkg/common/utils/runtimeconfig ./pkg/controller/sub_controller/disaggregated_cluster/computegroups -count=1 -timeout=120s
  • KUBEBUILDER_ASSETS=<local Kubernetes 1.31.0 envtest binaries> go test ./... -skip '^Test_ClearResources$' -count=1 -timeout=120s
  • go vet ./...
  • go build ./cmd/operator ./cmd/dorisctl
  • PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tools/tests -v (5 tests)
  • bash -n pkg/common/utils/runtimeconfig/prepare.sh
  • make manifests generate followed by git diff --exit-code
  • Changed Go files pass gofmt; git diff upstream/branch-25.8.0 --check passes.

Validation limits: the existing Test_ClearResources cases were excluded because the original PRs documented informer synchronization hangs. The first suite attempt lacked envtest binaries in the isolated worktree; rerunning with local binaries passed. No live Doris cluster validation was performed.

…e#524)

* [feature](operator) Persist mutable FE BE and MS configuration

Preserve mutable runtime configuration on existing safe PVCs while keeping user ConfigMaps unchanged. Record compatibility defaults for existing clusters and provide a verified opt-in migration tool.

* Retain runtime configuration PVCs during compute group scale-down

(cherry picked from commit d4ae3df)
* fix: use MS state for disaggregated BE decommission

* Fix MS instance query colon compatibility

(cherry picked from commit 7c6de21)
@Al-assad Al-assad closed this Oct 20, 2026
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.

1 participant