diff options
author | Rémy Coutable <remy@rymai.me> | 2016-11-18 13:39:06 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-11-18 13:39:06 +0000 |
commit | cda016651d59fe8402931c7b239b3d4ff5784aa6 (patch) | |
tree | cc3af433b63635ecc556afacb4f5571388e8c3cb /doc/system_hooks | |
parent | bccdf9f5570728eb312fb0bde26467dfa61d6a91 (diff) | |
parent | 6806fdf080171977b36df99c4bbe8d17c669990a (diff) | |
download | gitlab-ce-cda016651d59fe8402931c7b239b3d4ff5784aa6.tar.gz |
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 'doc/system_hooks')
0 files changed, 0 insertions, 0 deletions