scheduler doesn't count suspended actors that are still bound to a node
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
A suspended actor stays bound to the node that holds its local snapshot, and its next resume is required to land there.
But when placing a new actor, the scheduler only compares what workers have allocated right now, which is just the actors currently assigned ...
So for workloads that spend most of their time suspended, e.g. agents waiting on an LLM between steps, every worker looks empty, placement is effectively random, and then it sticks for the life of the actor.
We hit this in the burn-in for #3485: agentsession at 6 users on 4 workers, 6 actors living the whole 45m run. One worker got no actors in 4 of 7 runs, and another got 3. Placing 6 actors on 4 workers at random leaves one empty ~62% of the time, so this is basically random. The node with 3 actors is the one that fell behind on disk.
With the actors kept running instead, 8 actors resumed 1s apart spread 3/2/2/1, so placement works when the actors are running.
We should count actors bound to a node while suspended when picking the less loaded worker, without counting them against capacity, so they don't block placement. Letting a resume move off a busy node once the snapshot is durable is another option, but it gives up the local resume.
I searched for related issues but none are quite this: #589 (the same pin, from the capacity side), #3482 (a resume only moves when the pinned node is full, which a worker without limits never is, see #3479)
- Lenguaje dominante
- Go
- Estrellas
- 6.1k
- Forks
- 676
- Merge medio
- 2 d 41 min
- PR fusionados (30 d)
- 500
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de agent-substrate/substrate
-
network-egress.md describes actor certificate checks the egress gateway doesn't makePosiblemente ocupada @ericcurtin la tomó hoy. Abiertoarea/network area/security kind/docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
agent-substrate/substrate#3709 ·
Los mantenedores suelen responder en 1 día
-
Clean up the ko retry testsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoarea/dev-infra area/reliability area/tests kind/cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
agent-substrate/substrate#3461 ·
Los mantenedores suelen responder en 1 día
-
egress: drop the empty-provider check in providerCredentialPosiblemente ocupada @cloudonly la tomó hace 7 días. Abiertoarea/network kind/cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
agent-substrate/substrate#3428 ·
Los mantenedores suelen responder en 1 día
-
kubectl-ate create actor-template -f <file> fails with useless errorPosiblemente ocupada @cloudonly la tomó hace 9 días. Abiertoarea/cli kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
agent-substrate/substrate#3406 ·
Los mantenedores suelen responder en 1 día
-
k8s-credential-provider manifest is missing ate-otel-config envFrom, failing OTLP metric exports to [::1]:4317 / 127.0.0.1:4317 every 60sPosiblemente ocupada @ericcurtin la tomó hace 9 días. Abiertoarea/dev-infra area/observability area/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
agent-substrate/substrate#3282 ·
Los mantenedores suelen responder en 1 día
Todos los issues de agent-substrate/substrate
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
adrianbrad/queue#92 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
agent-ready area:skills
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
jmbarzee/temporal-architect#444 ·
Los mantenedores suelen responder en 1 día
-
enhancement needs:sonnet ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día