gitlab-org--gitlab-foss/app
Robert Speicher 11eefba891 Merge branch 'fix-namespace-deletion' into 'master'
Fix bug where destroying a namespace would not always destroy projects
    
There is a race condition in DestroyGroupService now that projects are deleted asynchronously:
    
1. User attempts to delete group
2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project
3. DestroyGroupService destroys the Group, leaving all its projects without a namespace
4. Projects::DestroyService runs later but the can?(current_user,
    :remove_project) is `false` because the user no longer has permission to
    destroy projects with no namespace.
5. This leaves the project in pending_delete state with no namespace/group.
 
Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since `container_registry_path_with_namespace` is the wrong value.

The fix is to destroy the group asynchronously and run `execute` directly on Projects::DestroyService.
 
Closes #17893

See merge request !4341
2016-08-12 18:04:03 +00:00
..
assets Merge branch '20059-environment-list' into 'master' 2016-08-12 17:00:16 +00:00
controllers Fix bug where destroying a namespace would not always destroy projects 2016-08-11 15:36:35 -07:00
finders State specific default sort order for issuables 2016-08-01 11:28:56 +02:00
helpers Merge branch '20059-environment-list' into 'master' 2016-08-12 17:00:16 +00:00
mailers Allow build email service to be tested 2016-07-15 20:38:27 -03:00
models Merge branch 'fix-namespace-deletion' into 'master' 2016-08-12 18:04:03 +00:00
services Merge branch 'fix-namespace-deletion' into 'master' 2016-08-12 18:04:03 +00:00
uploaders Remove magic comments from Ruby files (!5456) 2016-07-24 07:08:45 +02:00
validators
views Merge branch '20059-environment-list' into 'master' 2016-08-12 17:00:16 +00:00
workers Fix bug where destroying a namespace would not always destroy projects 2016-08-11 15:36:35 -07:00