[Investigation] Increase the resilience of the MR workers
Proposal
When an MR is created, we create it, and then perform some immediate actions on it, before handing it off to another worker to finish the processing.
It's possible for the immediate actions to be interrupted by an error, which prevents the worker from doing the additional processing. This causes the MR to be in a state where it exists, but will never load or populate with the correct data.
This was discovered on this request for help issue by a very large customer.
A similar issue occured with the NewMergeRequestWorker, where redis was having a connection issue, which resulted in the worker failing and retrying multiple times. This meant an MR !197259 (merged) ended up a number of duplicate added logs
We should investigate ways to make the workers more resilient to duplicated executions.