Execution Attempt
Also known as: job attempt, task attempt.
One particular try to execute a job, recorded separately so retries do not erase which worker ran, failed or returned late.
Synthetic dataExamples on this page use synthetic data created for illustration.
Definition
An execution attempt is one particular try to run a job. The job keeps its identity across retries, while every attempt records its own worker, start and end times, lease, outcome and error. Separating the two preserves history and lets the system reject a late or superseded result.
In plain terms
“Generate report 42” is the job. “Worker B tried it at 09:15” is an attempt. If that worker stops responding and Worker C tries again, there is still one job but two attempts.
Without separate attempt records, a retry overwrites the earlier failure. Operators then see only a final state and cannot tell whether the job waited, ran twice or returned after its replacement had already finished. An attempt identifier also gives acknowledgements, logs and artifacts an unambiguous owner.
Example
| Attempt | Worker | Outcome | Accepted as job result? |
|---|---|---|---|
| A1 | Worker B | Lease expired; result arrived late | No |
| A2 | Worker C | Completed | Yes |
Both rows remain useful. A1 explains the retry and may reveal a slow operation. A2 supplies the accepted result. The job itself ends as succeeded once A2 is accepted.
Common misunderstandings
- “A retry is the same record with a higher counter.” A counter helps, but each try also needs its own timing, worker, logs and outcome.
- “Only the successful attempt matters.” Failed and late attempts explain reliability, capacity and recurring defects.
- “If an old attempt finishes, its result must win because it started first.” Acceptance should follow an explicit freshness rule, not arrival luck.
References
- Automated job retries . AWS Batch User Guide.
- Martin Kleppmann. Designing Data-Intensive Applications . O'Reilly Media, 2017. ISBN 978-1449373320.