<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/app/services/groups/destroy_service.rb, branch docs-pages-https</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Remove soft removals related code</title>
<updated>2018-01-08T16:04:45+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2018-01-02T16:21:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d0b8f536a1865af3741fc3255325b7e211ed1d42'/>
<id>d0b8f536a1865af3741fc3255325b7e211ed1d42</id>
<content type='text'>
This removes all usage of soft removals except for the "pending delete"
system implemented for projects. This in turn simplifies all the query
plans of the models that used soft removals. Since we don't really use
soft removals for anything useful there's no point in keeping it around.

This _does_ mean that hard removals of issues (which only admins can do
if I'm not mistaken) can influence the "iid" values, but that code is
broken to begin with. More on this (and how to fix it) can be found in
https://gitlab.com/gitlab-org/gitlab-ce/issues/31114.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/37447
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes all usage of soft removals except for the "pending delete"
system implemented for projects. This in turn simplifies all the query
plans of the models that used soft removals. Since we don't really use
soft removals for anything useful there's no point in keeping it around.

This _does_ mean that hard removals of issues (which only admins can do
if I'm not mistaken) can influence the "iid" values, but that code is
broken to begin with. More on this (and how to fix it) can be found in
https://gitlab.com/gitlab-org/gitlab-ce/issues/31114.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/37447
</pre>
</div>
</content>
</entry>
<entry>
<title>Make sure repository's removal work for legacy and hashed storages</title>
<updated>2017-08-22T04:33:20+00:00</updated>
<author>
<name>Gabriel Mazetto</name>
<email>brodock@gmail.com</email>
</author>
<published>2017-08-21T13:28:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=fb9e059a412d95ee3b7442a472ecfd9c67eafd7b'/>
<id>fb9e059a412d95ee3b7442a472ecfd9c67eafd7b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove Mattermost team with GitLab group</title>
<updated>2017-07-28T07:09:55+00:00</updated>
<author>
<name>Z.J. van de Weg</name>
<email>git@zjvandeweg.nl</email>
</author>
<published>2017-05-14T10:57:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d7062dd042f7dd773900ecf6ea79e1ca26592eb5'/>
<id>d7062dd042f7dd773900ecf6ea79e1ca26592eb5</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Defer project destroys within a namespace in Groups::DestroyService#async_execute</title>
<updated>2017-06-29T16:23:31+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2017-06-24T00:02:33+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=fa93156528bca4306e040a1b73720b6411942fcf'/>
<id>fa93156528bca4306e040a1b73720b6411942fcf</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix current feature related specs</title>
<updated>2017-06-28T10:32:34+00:00</updated>
<author>
<name>Tiago Botelho</name>
<email>tiagonbotelho@hotmail.com</email>
</author>
<published>2017-06-15T12:06:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=34f57b462bc14ad194cf890a4585d403bdbde55c'/>
<id>34f57b462bc14ad194cf890a4585d403bdbde55c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make nested groups deletion synchronous to avoid potential race</title>
<updated>2017-02-27T11:09:55+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2017-02-16T01:15:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=3129dd502bb930302c27d465590b9582bea824d2'/>
<id>3129dd502bb930302c27d465590b9582bea824d2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a number of race conditions that can occur during namespace deletion</title>
<updated>2017-02-16T07:56:40+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2017-02-16T07:50:05+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=6606a45030ecd4035b095d33d32f1372c3562b02'/>
<id>6606a45030ecd4035b095d33d32f1372c3562b02</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix inconsistent naming for services that delete things</title>
<updated>2017-02-08T08:16:43+00:00</updated>
<author>
<name>dixpac</name>
<email>dino.onex@gmail.com</email>
</author>
<published>2016-08-13T12:45:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=0dacf3c169a85e6f3a1c70f3f5e377d47f770d19'/>
<id>0dacf3c169a85e6f3a1c70f3f5e377d47f770d19</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
</feed>
