Commit graph

7 commits

Author SHA1 Message Date
Gabriel Mazetto
fb9e059a41 Make sure repository's removal work for legacy and hashed storages 2017-08-22 06:33:20 +02:00
Z.J. van de Weg
d7062dd042
Remove Mattermost team with GitLab group
When destroying a group, now an API call is made to the Mattermost
server to request the deletion of the project. Actual team deletion on
the Mattermost side happens async, so the runtime shouldn't increase by
more than a second.
2017-07-28 09:09:55 +02:00
Stan Hu
fa93156528 Defer project destroys within a namespace in Groups::DestroyService#async_execute
Group#destroy would actually hard-delete all associated projects even
though the acts_as_paranoia gem is used, preventing Projects::DestroyService
from doing any work.

We first noticed this while trying to log all projects deletion to the Geo
log.
2017-06-29 09:23:31 -07:00
Tiago Botelho
34f57b462b Fix current feature related specs 2017-06-28 11:32:34 +01:00
Stan Hu
3129dd502b Make nested groups deletion synchronous to avoid potential race 2017-02-27 13:09:55 +02:00
Stan Hu
6606a45030 Fix a number of race conditions that can occur during namespace deletion
There are two problems in the current implementation:

1. If a project is marked for deletion via the `pending_delete` flag
and then the namespace was quickly deleted, it's possible that the
namespace skips over that project and leaves that project in
an orphaned state.

2. Before namespace deletion, the namespace attempts to clean up
all the relevant storage paths. However, if all projects have been
removed synchronously, then the namespace will not be able to clean anything.
To prevent this, we should load the paths to be deleted before
actually destroying projects.

The specs were missing this second case due to a permission issue
that caused project removal never to happen.
2017-02-15 23:56:40 -08:00
dixpac
0dacf3c169 Fix inconsistent naming for services that delete things
* Changed name of delete_user_service and worker to destroy
* Move and change delete_group_service to Groups::DestroyService
* Rename Notes::DeleteService to Notes::DestroyService
2017-02-08 09:16:43 +01:00