Skip to content

model-serving: back off repeated failure recovery - #1970

Open
kube-gopher wants to merge 1 commit into
volcano-sh:mainfrom
kube-gopher:feat/modelserving-recovery-backoff
Open

kube-gopher wants to merge 1 commit into
volcano-sh:mainfrom
kube-gopher:feat/modelserving-recovery-backoff

Conversation

@kube-gopher

@kube-gopher kube-gopher commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

What type of PR is this?
/kind enhancement

What this PR does / why we need it:

  • The unit is the ServingGroup (ServingGroupRecreate), the Role instance (RoleRecreate), or the Pod (None).
  • Failure 1 is recovered as before. After that, the controller waits for max(restartGracePeriodSeconds, backoff), where the backoff is 10s, 20s, 40s, and so on, capped at 5m.
  • The count resets after the unit has stayed Running for 10m, or when the failed Pod belongs to a new revision.
  • Evicted or preempted Pods (DisruptionTarget=True) and Pods deleted by others don't count.
  • During the wait, the failed Pod stays in place for debugging. If it becomes Ready again, it is kept.
  • Units in backoff are reported by a RecoveryBackOff condition and a RecoveryBackOff Warning event. The condition only appears after a unit has actually backed off.
  • New controller-manager flags --recovery-backoff-base, --recovery-backoff-max, and --recovery-backoff-reset, with Helm values under workload.controllerManager.recoveryBackoff. --recovery-backoff-base=0s restores the old behavior.

Which issue(s) this PR fixes:
Fixes #1951

Bug evidence (required for bug-related PRs):

Special notes for your reviewer:

Does this PR introduce a user-facing change?:


Signed-off-by: kube-gopher <jzlyy68@gmail.com>
@volcano-sh-bot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign lizhencheng9527 for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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

@kube-gopher

Copy link
Copy Markdown
Member Author

/remove-kind feature
/kind enhancement

@volcano-sh-bot volcano-sh-bot added kind/enhancement New feature or request and removed kind/feature labels Nov 6, 2026
@kube-gopher
kube-gopher marked this pull request as ready for review November 6, 2026 08:14

This branch has not been deployed

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

Labels

kind/enhancement New feature or request size/XXL

Projects

Status: Accepted

Development

Successfully merging this pull request may close these issues.

ModelServing: a persistently failing Role or ServingGroup is recreated endlessly with no backoff

2 participants