Skip to content

Add spec documenting reassignment behavior in AfterRequeueJobService

drew stachon requested to merge add-requeue-reassignment-spec into master

What does this MR do and why?

This MR adds a spec to articulate the the job reassignment logic in the AfterRequeueJobService. For traceability reasons, the ownership of all unexecuted, dependent jobs is transferred to the user who retries the failed job on which the subsequent ones depend. This is not well expressed in our code or specs, and certainly not in the application UI. Our own Delivery and Release team has been tripping over this ownership policy, costing them hours of CI debugging and missed deployments.

For a contextual explanation of what's happening, see my explanation in the bug issue #348465 (comment 974512214).

How to set up and validate locally

Drop a breakpoint into the spec during execution and see the change happen. In application code, the actual call that performs this change lives in the Ci::AfterRequeueJobService

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by drew stachon

Merge request reports