Never let a retry hit the same deadline. It pays again and fails again.
concurrency/state
An outer timeout is sized for one attempt or one phase, but the code inside performs several — retries, sequential waits, recovery steps — all drawing on the same budget. Legitimate work is cut off before it can finish or even run its own error handling.
A serverless function has a 10-second limit; inside it a client retries three times with a 5-second timeout each, so the second retry is killed mid-flight and the failure handler never runs.
Needs a missing term in the time budget (the parts add up to more than the whole); not an ownership lease (a timed claim on a job) running out during valid work, not a deadline that was never passed down, not a poll interval that misses a short state (Poll interval longer than the event), and not work that keeps running after its timeout.