Skip to content

Don't retry BatchedGitRefUpdates::ProjectCleanupWorker since it requeues

What does this MR do and why?

Don't retry BatchedGitRefUpdates::ProjectCleanupWorker since it requeues

This worker is periodically queued by ::BatchedGitRefUpdates::CleanupSchedulerWorker based on a queue that is stored in Postgres. If this worker fails there is no point in retrying it since it gets requeued by the scheduler worker next time it runs. If we have requeues it can sometimes lead to a bunch of duplicate instances of this worker running at the same time which is wasted effort. The idempotent! might mitigate this to some extent since it deduplicates but I think that even with this there is still race conditions where you get duplicates running.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

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

Merge request reports