Skip to content

Release v1.31.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 15:19
658e392

Added

  • IJob.ResumeIfRunning() and IJobsManager.ResumeIfRunning(JobId) resume a job only while it is still Running. The status is checked inside the job grain's own turn, so an operator Stop or Remove can never land between the check and the resume. A job in any other status is left untouched and the call returns the new ResumeJobSuccess.JobIsNotRunning. Resume() stays unrestricted. Both interfaces move to [Version(1)], so during a rolling upgrade calls to the new methods go to silos running this version. (#155)

Changed

  • A job resumed while it sits between two stages now runs OnBeforeResumingJobSteps before starting the next stage, like every other resume path. (#155)
  • While a job activation's resume hook has not succeeded, the window fill and the restart of steps whose owner is gone start no steps. A cold Running activation resumes itself on its first watchdog tick, so it keeps working after the job grain is reactivated on another silo. With the watchdog turned off, cold activations keep dispatching as before. (#155)

Fixed

  • A Running job whose OnBeforeResumingJobSteps throws no longer stays Running forever with nothing dispatched. The watchdog retries the resume with a growing back-off for as long as the job stays Running, and stops retrying once it is stopped or removed. (#155)