Summary
The waiting_runner_limit_exceeded timeout appears to be measured from submitted_at. If a job waits in the queue longer than the configured limit, it can be killed shortly after an instance is finally provisioned, before the runner has a reasonable opportunity to check in.
Expected behavior
Start the runner-wait timer at the provisioning transition or another timestamp that represents when the runner could actually start. Audit other timeout calculations for the same queue-time anchoring error.
Regression coverage
A job that queues longer than the runner-wait limit should not fail immediately after provisioning; a genuinely unresponsive runner should still time out after the configured post-provision interval.
Summary
The
waiting_runner_limit_exceededtimeout appears to be measured fromsubmitted_at. If a job waits in the queue longer than the configured limit, it can be killed shortly after an instance is finally provisioned, before the runner has a reasonable opportunity to check in.Expected behavior
Start the runner-wait timer at the provisioning transition or another timestamp that represents when the runner could actually start. Audit other timeout calculations for the same queue-time anchoring error.
Regression coverage
A job that queues longer than the runner-wait limit should not fail immediately after provisioning; a genuinely unresponsive runner should still time out after the configured post-provision interval.