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
{{ message }}
Repository navigation
MicroVM worker: wait at least 30 seconds after a suspend refused for now #797
A persistent "refused for now" error makes the MicroVM worker call SuspendMicrovm once per idle time, with no lower bound.
Details
feat(microvm-worker): act on lifecycle hooks #782 added the worker's own suspend when idle. classify_suspend_error returns REFUSED_FOR_NOW for a first-attempt error that the service answers before it acts. Examples are an expired token and a signature error.
After that outcome, the worker starts the idle time again at once.
The run hook accepts any positive autoSuspendIdleSeconds.
Some of these errors repeat on every call. A wrong secret key gives a signature error each time. A static session token gives ExpiredTokenException each time after it expires.
So an idle MicroVM calls SuspendMicrovm once per idle time for as long as the error lasts. Each call also writes two log lines.
A probe with an idle time of 0.0001 s counted 15 calls in 3 s. The count depends on the machine.
A second gap is in the docs. The default client uses botocore's standard retry mode with 3 attempts. It retries ThrottlingException. So a throttle usually ends as an unknown outcome, not as "refused for now". The README and docstrings say otherwise.
Activity