-
Rémy Coutable authored
Remove race condition while deleting groups ## What does this MR do? The intended flow during a group deletion is: ``` Soft-delete group (sync) -> Delete group projects (async) -> Hard-delete group (async) ``` The soft-delete was run in a transaction, which was committed only after the async job (for hard-deletion) was kicked off. There was a race condition here - the soft-delete transaction could complete _after_ the hard delete completed, leaving a soft-deleted record in the database. This MR removes this race condition. There is no need to run the soft-delete in a transaction. The soft-delete completes before the async job is kicked off. This MR also adds a migration to delete all existing (soft-deleted) groups left in an inconsistent state due to this bug. - Closes #23223 - EE merge request: gitlab-org/gitlab-ee!886 See merge request !7528
673e7607