diff options
author | Rémy Coutable <remy@rymai.me> | 2016-11-18 16:39:06 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-11-18 16:39:06 +0300 |
commit | cda016651d59fe8402931c7b239b3d4ff5784aa6 (patch) | |
tree | cc3af433b63635ecc556afacb4f5571388e8c3cb /changelogs/unreleased | |
parent | bccdf9f5570728eb312fb0bde26467dfa61d6a91 (diff) | |
parent | 6806fdf080171977b36df99c4bbe8d17c669990a (diff) |
Merge branch '23223-group-deletion-race-condition' into 'master'
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
Diffstat (limited to 'changelogs/unreleased')
-rw-r--r-- | changelogs/unreleased/23223-group-deletion-race-condition.yml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/changelogs/unreleased/23223-group-deletion-race-condition.yml b/changelogs/unreleased/23223-group-deletion-race-condition.yml new file mode 100644 index 00000000000..6f22e85fb4b --- /dev/null +++ b/changelogs/unreleased/23223-group-deletion-race-condition.yml @@ -0,0 +1,4 @@ +--- +title: Fix race condition during group deletion and remove stale records present due to this bug +merge_request: 7528 +author: Timothy Andrew |