Skip to content

Revert "feat: support graceful scale-down for AlluxioRuntime" (#5805)#6059

Merged
RongGu merged 1 commit into
masterfrom
revert/5805-graceful-scale-down
Jun 25, 2026
Merged

Revert "feat: support graceful scale-down for AlluxioRuntime" (#5805)#6059
RongGu merged 1 commit into
masterfrom
revert/5805-graceful-scale-down

Conversation

@cheyang

@cheyang cheyang commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Why

PR #5805 introduced AlluxioRuntime graceful scale-down (decommission + drain logic) with unit tests only. It does not include an end-to-end test validating the actual scale-down → drain → decommission → data-integrity path under a real Kind cluster.

Since this feature changes runtime scaling behavior in a way that could cause silent data loss if the drain/decommission sequence doesn't work correctly in production, we are reverting until the contributor provides a matching test/gha-e2e/ scenario that exercises the full lifecycle.

What this reverts

Commit ec6072e — "feat: support graceful scale-down for AlluxioRuntime using AdvancedStatefulSet (#4193) (#5805)"

Removed files:

  • pkg/ddc/alluxio/operations/decommission.go
  • pkg/ddc/alluxio/operations/decommission_test.go
  • pkg/ddc/alluxio/replicas_drain_test.go
  • pkg/features/features.go

Reverted modifications:

  • api/v1alpha1/status.go
  • pkg/ddc/alluxio/const.go
  • pkg/ddc/alluxio/replicas.go
  • test/gha-e2e/curvine/read_job.yaml

Re-land path

@jakharmonika364 — once you add a Kind-based e2e test (under test/gha-e2e/) that validates AlluxioRuntime scale-down (reduce replicas → verify decommission completes → verify data integrity), please open a new PR containing both the feature and the e2e test. We'll fast-track the review.

cc @cheyang

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request removes the graceful worker scale-down feature for AlluxioRuntime, deleting its associated feature gate, decommissioning operations, status conditions, and unit tests. Additionally, it simplifies the read job command in the E2E test configuration. As there are no review comments, I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.77%. Comparing base (ec6072e) to head (9232261).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6059      +/-   ##
==========================================
- Coverage   64.89%   64.77%   -0.12%     
==========================================
  Files         486      484       -2     
  Lines       34057    33892     -165     
==========================================
- Hits        22101    21954     -147     
+ Misses      10228    10215      -13     
+ Partials     1728     1723       -5     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…vancedStatefulSet (#4193) (#5805)"

This reverts commit ec6072e.

Signed-off-by: cheyang <cheyang@163.com>
@jakharmonika364

Copy link
Copy Markdown
Contributor

Thanks for flagging this - agreed the missing e2e coverage was a real gap. Re-land is up at #6061 with a Kind e2e test under test/gha-e2e/alluxio-scaledown/ covering scale-down → drain → decommission → data read, plus a fix for --feature-gates not being wired into the alluxio controller binary, which had made the gate unreachable. Happy to adjust further if you spot anything.

@RongGu RongGu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm
/approve

@fluid-e2e-bot

fluid-e2e-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: RongGu

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@RongGu
RongGu merged commit 333e13a into master Jun 25, 2026
23 of 24 checks passed
@sonarqubecloud

Copy link
Copy Markdown

jakharmonika364 added a commit to jakharmonika364/fluid that referenced this pull request Jun 25, 2026
…dvancedStatefulSet (fluid-cloudnative#4193) (fluid-cloudnative#5805)" (fluid-cloudnative#6059)

This reverts commit 333e13a.

Signed-off-by: Monika Jakhar <jakharmonika364@gmail.com>
jakharmonika364 added a commit to jakharmonika364/fluid that referenced this pull request Jul 6, 2026
…dvancedStatefulSet (fluid-cloudnative#4193) (fluid-cloudnative#5805)" (fluid-cloudnative#6059)

This reverts commit 333e13a.

Signed-off-by: Monika Jakhar <jakharmonika364@gmail.com>
jakharmonika364 added a commit to jakharmonika364/fluid that referenced this pull request Jul 13, 2026
…dvancedStatefulSet (fluid-cloudnative#4193) (fluid-cloudnative#5805)" (fluid-cloudnative#6059)

This reverts commit 333e13a.

Signed-off-by: Monika Jakhar <jakharmonika364@gmail.com>
jakharmonika364 added a commit to jakharmonika364/fluid that referenced this pull request Jul 14, 2026
…dvancedStatefulSet (fluid-cloudnative#4193) (fluid-cloudnative#5805)" (fluid-cloudnative#6059)

This reverts commit 333e13a.

Signed-off-by: Monika Jakhar <jakharmonika364@gmail.com>
jakharmonika364 added a commit to jakharmonika364/fluid that referenced this pull request Jul 20, 2026
…, not UFS

read_after_job.yaml's read succeeded on a cache miss just as well as a cache
hit: fixture.txt lives in the minio-backed S3 UFS for the entire test, and
Alluxio transparently re-fetches from UFS on a miss. So the read-after check
passed regardless of whether graceful decommission actually migrated any
cached block off the worker being removed - it would pass identically for an
ungraceful scale-down, or a decommission that silently no-ops. Given the
revert this PR re-lands (fluid-cloudnative#6059) was specifically about validating data
integrity across the drain, this made the check that matters least
meaningful.

Tear the minio backend down between the two read jobs: read_before still
primes the Alluxio cache against a live UFS (via the default CACHE_PROMOTE
read type), but by the time read_after runs, UFS is gone and the only way
its cat can succeed is if the data is still cached on a surviving worker -
either because it was already there, or because decommission migrated it off
the worker being removed. This distinguishes graceful from ungraceful
scale-down the way the maintainer asked for, without needing to exec the
Alluxio CLI or assert on cache-hit metrics from the test script.

Suggested by cheyang.

Signed-off-by: Monika Jakhar <jakharmonika364@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants