<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/app/models/namespace.rb, branch gitlab-git-popen</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Fix setting share_with_group_lock</title>
<updated>2017-09-15T15:38:46+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2017-09-15T13:34:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ac702af8229193834baf8d3fd3a1b454b5459289'/>
<id>ac702af8229193834baf8d3fd3a1b454b5459289</id>
<content type='text'>
Prior to this commit running
Namespace#force_share_with_group_lock_on_descendants would result in
updating _all_ namespaces in the namespaces table, not just the
descendants. This is the result of ActiveRecord::Relation#update_all not
taking into account the CTE. To work around this we use the CTE query as
a sub-query instead of directly calling #update_all.

To prevent this from happening the relations returned by
Gitlab::GroupHierarchy are now marked as read-only, resulting in an
error being raised when methods such as #update_all are used.

Fortunately on GitLab.com our statement timeouts appear to have
prevented this query from actually doing any damage other than causing
a very large amount of dead tuples.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/37916
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prior to this commit running
Namespace#force_share_with_group_lock_on_descendants would result in
updating _all_ namespaces in the namespaces table, not just the
descendants. This is the result of ActiveRecord::Relation#update_all not
taking into account the CTE. To work around this we use the CTE query as
a sub-query instead of directly calling #update_all.

To prevent this from happening the relations returned by
Gitlab::GroupHierarchy are now marked as read-only, resulting in an
error being raised when methods such as #update_all are used.

Fortunately on GitLab.com our statement timeouts appear to have
prevented this query from actually doing any damage other than causing
a very large amount of dead tuples.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/37916
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor based on code review</title>
<updated>2017-09-06T19:07:21+00:00</updated>
<author>
<name>Michael Kozono</name>
<email>mkozono@gmail.com</email>
</author>
<published>2017-09-06T00:10:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=a4b564b6200582b6d3700a5e77e0c11fc5cac011'/>
<id>a4b564b6200582b6d3700a5e77e0c11fc5cac011</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable share_with_group_lock on subgroup</title>
<updated>2017-09-06T19:07:20+00:00</updated>
<author>
<name>Michael Kozono</name>
<email>mkozono@gmail.com</email>
</author>
<published>2017-09-01T23:49:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=1cc7f4a45d9e9fdf1943eb92d3cd2071ba497337'/>
<id>1cc7f4a45d9e9fdf1943eb92d3cd2071ba497337</id>
<content type='text'>
…when needed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…when needed
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't show references to Pages when not available</title>
<updated>2017-08-31T07:27:42+00:00</updated>
<author>
<name>Zeger-Jan van de Weg</name>
<email>git@zjvandeweg.nl</email>
</author>
<published>2017-08-29T10:15:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=04cd47dd5a08ca5cc84c44346b2893111da9594c'/>
<id>04cd47dd5a08ca5cc84c44346b2893111da9594c</id>
<content type='text'>
In this instance its subgroups, and given we can't deploy it, we
shouldn't allow it to be shown.

Fixes gitlab-org/gitlab-ce#34864
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In this instance its subgroups, and given we can't deploy it, we
shouldn't allow it to be shown.

Fixes gitlab-org/gitlab-ce#34864
</pre>
</div>
</content>
</entry>
<entry>
<title>Speed up Group#user_ids_for_project_authorizations</title>
<updated>2017-08-14T11:47:15+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2017-08-11T14:19:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d7b03c37f8346e29f21f0196fd3a532effa60ec3'/>
<id>d7b03c37f8346e29f21f0196fd3a532effa60ec3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Small refactor in LegacyNamespace and moved back send_update_instructions</title>
<updated>2017-08-01T05:45:04+00:00</updated>
<author>
<name>Gabriel Mazetto</name>
<email>brodock@gmail.com</email>
</author>
<published>2017-08-01T05:45:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=2c2609620356a4693ec96f988bc96cb4601be5e8'/>
<id>2c2609620356a4693ec96f988bc96cb4601be5e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move storage specific code from Namespace and Project to concerns</title>
<updated>2017-08-01T05:26:58+00:00</updated>
<author>
<name>Gabriel Mazetto</name>
<email>brodock@gmail.com</email>
</author>
<published>2017-07-05T00:19:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=98615318883e37a4c9cb201e3e65bb7b775112cd'/>
<id>98615318883e37a4c9cb201e3e65bb7b775112cd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Promote visibility level helpers from Group to Namespace</title>
<updated>2017-07-17T10:54:07+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2017-07-17T10:40:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=c9e6caaef4c467343d162c5841b5543940b092a1'/>
<id>c9e6caaef4c467343d162c5841b5543940b092a1</id>
<content type='text'>
In EE, we make use of `namespace#public?` in projects. When the project is in a
personal namespace, this breaks as the `public?` helper isn't present.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In EE, we make use of `namespace#public?` in projects. When the project is in a
personal namespace, this breaks as the `public?` helper isn't present.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added Cop to blacklist the use of `dependent:`</title>
<updated>2017-07-06T10:01:36+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2017-06-08T15:16:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=8fbbf41e29f5e0f56b7eb9d37aadba856b68bcce'/>
<id>8fbbf41e29f5e0f56b7eb9d37aadba856b68bcce</id>
<content type='text'>
This is allowed for existing instances so we don't end up 76 offenses
right away, but for new code one should _only_ use this if they _have_
to remove non database data. Even then it's usually better to do this in
a service class as this gives you more control over how to remove the
data (e.g. in bulk).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is allowed for existing instances so we don't end up 76 offenses
right away, but for new code one should _only_ use this if they _have_
to remove non database data. Even then it's usually better to do this in
a service class as this gives you more control over how to remove the
data (e.g. in bulk).
</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://git.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>
</feed>
