You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ftl kill ___ <-- choose the deployment with a lower runner id, which is the time one
At this point there will be a remaining runner with an id like R00000000000000000000004000
ftl deploy examples/go/time
LocalScaling then creates a new runner, but chooses the id to be R00000000000000000000004000 (it's generated using the current number of runners)
The leads to the existing runner with that id to be killed to allow this one to start up. Which then causes another runner to be kicked off to redeploy the echo deployment, and the cycle starts to repeat
The text was updated successfully, but these errors were encountered:
alecthomas
changed the title
Runner id collisions causes runner kill loop
Runner id collisions causes runner kill loop with LocalScaling deterministic runner IDs
Mar 7, 2024
Adds `--idle-runners` arg to define how large the idle pool should be.
Fixes#1036Fixes#1030
### Previous notes
Currently a draft because this PR makes #1036 more likely to be hit.
Before this change, killing all deployments would mean there are 0
runners, leading to no runner id collisions when you bring up more
deployments
After this change, killing all deployments means that there will still
be runners which will cause collisions if the idle runner ids aren't the
lowest possible [`R00000000000000000000002000`,
`R00000000000000000000004000` ... ]
I've been testing with a hacky fix replacing line
`bankend/controller/scaling/local_scaling.go:96` to:
```
binary.BigEndian.PutUint32(ulid[10:], rand.Uint32())
```
Steps to repro
ftl serve --recreate --log-level=DEBUG
ftl deploy examples/go
ftl ps --verbose
ftl kill ___
<-- choose the deployment with a lower runner id, which is thetime
oneR00000000000000000000004000
ftl deploy examples/go/time
R00000000000000000000004000
(it's generated using the current number of runners)echo
deployment, and the cycle starts to repeatThe text was updated successfully, but these errors were encountered: