Stale worker claim blocks actor resume after increasing template resources
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Trace actor resume, stale-claim recovery, worker binding, and assignment reconciliation to find where capacity failures leave claims behind. Read the linked atomic-assignment issue #1639 for context, then follow the relevant tests for resume retries and worker capacity. Done when a failed re-bind releases the stale claim and a later resume can schedule onto a worker with enough capacity.
由索引模型根据 Issue 内容生成。
描述
During actor resume, claiming a worker slot and updating the actor's state to RESUMING happen in two separate database transactions. If the resume fails or is interrupted between them, the actor remains SUSPENDED with a leftover worker claim.
If the actor is then updated to a template with larger CPU or memory limits than that worker can fit, every subsequent resume attempt fails:
- Stale-claim recovery checks whether the worker matches the template's selector and runtime constraints, without checking resource capacity, so it keeps returning the undersized worker.
- Binding the actor to that worker fails the capacity check and rolls back without releasing the stale claim.
- Resume retries against the same undersized worker until backoff is exhausted and fails with
Aborted. - Background assignment reconciliation ignores claims that were never recorded on the actor status, so the stale claim is never cleaned up. The actor cannot be resumed and the worker slot remains leaked.
When re-binding a recovered stale claim fails due to insufficient capacity, the stale claim should be released so the next attempt schedules the actor onto a worker with enough room. Alternatively, making worker and actor assignment atomic in a single transaction (#1639) eliminates unrecorded stale claims altogether.
- 主要语言
- Go
- 星标
- 6.1k
- 派生
- 676
- 平均合并
- 2 天 41 分钟
- 30 天内合并 PR
- 500
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
agent-substrate/substrate 的其他 Issue
-
Clean up the ko retry tests可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭area/dev-infra area/reliability area/tests kind/cleanup
难度 2/5 1-3 小时 新手友好度 66/100
agent-substrate/substrate#3461 ·
维护者通常 1 天内回复
-
egress: drop the empty-provider check in providerCredential可能已有人在做 @cloudonly 于 7 天前认领。 未关闭area/network kind/cleanup
难度 2/5 1-3 小时 新手友好度 68/100
agent-substrate/substrate#3428 ·
维护者通常 1 天内回复
-
kubectl-ate create actor-template -f <file> fails with useless error可能已有人在做 @cloudonly 于 8 天前认领。 未关闭area/cli kind/bug
难度 2/5 1-3 小时 新手友好度 70/100
agent-substrate/substrate#3406 ·
维护者通常 1 天内回复
-
k8s-credential-provider manifest is missing ate-otel-config envFrom, failing OTLP metric exports to [::1]:4317 / 127.0.0.1:4317 every 60s可能已有人在做 @ericcurtin 于 9 天前认领。 未关闭area/dev-infra area/observability area/security kind/bug
难度 2/5 1-3 小时 新手友好度 82/100
agent-substrate/substrate#3282 ·
维护者通常 1 天内回复
-
filecachegc.runPass suppresses eviction logs when FreedBytes < target and consecutiveShortfalls > 3可能已有人在做 @ericcurtin 于 8 天前认领。 未关闭area/node area/observability area/storage kind/bug
难度 2/5 1-3 小时 新手友好度 78/100
agent-substrate/substrate#3281 ·
维护者通常 1 天内回复
查看 agent-substrate/substrate 的全部 Issue
相似的 Issue
-
agent-butler-finding bug
难度 2/5 1-3 小时 新手友好度 82/100
jordansmall/spindrift#6414 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
Icinga/icinga-kubernetes#294 ·
维护者通常 4 天内回复
-
kind/design sig/ui
难度 1/5 1 小时以内 新手友好度 92/100
kubermatic/dashboard#8449 ·
维护者通常 1 天内回复
-
needs-triage
难度 2/5 1-3 小时 新手友好度 62/100
cli/cli#14962 · 1 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
model-drift
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复