<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/lib/api/v3, branch patch-29</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>Track and act upon the number of executed queries</title>
<updated>2018-02-01T16:00:46+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2018-01-15T15:21:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=cca61980d5ad9c4db65b9498fe49d936657bc0e2'/>
<id>cca61980d5ad9c4db65b9498fe49d936657bc0e2</id>
<content type='text'>
This ensures that we have more visibility in the number of SQL queries
that are executed in web requests. The current threshold is hardcoded to
100 as we will rarely (maybe once or twice) change it.

In production and development we use Sentry if enabled, in the test
environment we raise an error. This feature is also only enabled in
production/staging when running on GitLab.com as it's not very useful to
other users.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures that we have more visibility in the number of SQL queries
that are executed in web requests. The current threshold is hardcoded to
100 as we will rarely (maybe once or twice) change it.

In production and development we use Sentry if enabled, in the test
environment we raise an error. This feature is also only enabled in
production/staging when running on GitLab.com as it's not very useful to
other users.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable RuboCop Style/RegexpLiteral</title>
<updated>2018-01-31T17:06:07+00:00</updated>
<author>
<name>Takuya Noguchi</name>
<email>takninnovationresearch@gmail.com</email>
</author>
<published>2018-01-27T05:35:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=2b6307f6ad9d09156c42befe4babbfea40dad052'/>
<id>2b6307f6ad9d09156c42befe4babbfea40dad052</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove N+1 queries with /projects/:project_id/{access_requests,members} API endpoints</title>
<updated>2018-01-31T05:46:09+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2018-01-27T06:16:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=46a6edc7314ce8acab5d8ce04799bd3557bc26bc'/>
<id>46a6edc7314ce8acab5d8ce04799bd3557bc26bc</id>
<content type='text'>
We can simplify the code quite a bit and improve performance by using
grape-entity merge fields:

https://github.com/ruby-grape/grape-entity/tree/v0.6.0#merge-fields

Relates to #42030
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can simplify the code quite a bit and improve performance by using
grape-entity merge fields:

https://github.com/ruby-grape/grape-entity/tree/v0.6.0#merge-fields

Relates to #42030
</pre>
</div>
</content>
</entry>
<entry>
<title>Use limit for search count queries</title>
<updated>2018-01-23T21:33:42+00:00</updated>
<author>
<name>Jan Provaznik</name>
<email>jprovaznik@gitlab.com</email>
</author>
<published>2018-01-23T11:03:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=090ca9c33e4c1939366e66c328af6dd61bf1db1d'/>
<id>090ca9c33e4c1939366e66c328af6dd61bf1db1d</id>
<content type='text'>
Search query is especially slow if a user searches a generic string
which matches many records, in such case search can take tens of
seconds or time out. To speed up the search query, we search only for
first 1000 records, if there is &gt;1000 matching records we just display
"1000+" instead of precise total count supposing that with such amount
the exact count is not so important for the user.

Because for issues even limited search was not fast enough, 2-phase
approach is used for issues: first we use simpler/faster query to get
all public issues, if this exceeds the limit, we just return the limit.
If the amount of matching results is lower than limit, we re-run more
complex search query (which includes also confidential issues).
Re-running the complex query should be fast enough in such case because the
amount of matching issues is lower than limit.

Because exact total_count is now limited, this patch also switches to
to "prev/next" pagination.

Related #40540
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Search query is especially slow if a user searches a generic string
which matches many records, in such case search can take tens of
seconds or time out. To speed up the search query, we search only for
first 1000 records, if there is &gt;1000 matching records we just display
"1000+" instead of precise total count supposing that with such amount
the exact count is not so important for the user.

Because for issues even limited search was not fast enough, 2-phase
approach is used for issues: first we use simpler/faster query to get
all public issues, if this exceeds the limit, we just return the limit.
If the amount of matching results is lower than limit, we re-run more
complex search query (which includes also confidential issues).
Re-running the complex query should be fast enough in such case because the
amount of matching issues is lower than limit.

Because exact total_count is now limited, this patch also switches to
to "prev/next" pagination.

Related #40540
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix error on empty query for Members API</title>
<updated>2018-01-21T16:36:55+00:00</updated>
<author>
<name>Mark Fletcher</name>
<email>mark@gitlab.com</email>
</author>
<published>2018-01-04T16:35:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=062f5b7126978e08522361e879d7c1723b15c9da'/>
<id>062f5b7126978e08522361e879d7c1723b15c9da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sh-migrate-can-push-to-deploy-keys-projects-10-3' into 'security-10-3'</title>
<updated>2018-01-17T01:04:51+00:00</updated>
<author>
<name>Douwe Maan</name>
<email>douwe@gitlab.com</email>
</author>
<published>2018-01-05T15:23:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=536a47b4b70df0f2a8438ed0ada7654593fa5cd0'/>
<id>536a47b4b70df0f2a8438ed0ada7654593fa5cd0</id>
<content type='text'>
[10.3] Migrate `can_push` column from `keys` to `deploy_keys_project`

See merge request gitlab/gitlabhq!2276

(cherry picked from commit f6ca52d31bac350a23938e0aebf717c767b4710c)

1f2bd3c0 Backport to 10.3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[10.3] Migrate `can_push` column from `keys` to `deploy_keys_project`

See merge request gitlab/gitlabhq!2276

(cherry picked from commit f6ca52d31bac350a23938e0aebf717c767b4710c)

1f2bd3c0 Backport to 10.3
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'security-10-3-do-not-expose-passwords-or-tokens-in-service-integrations-api' into 'security-10-3'</title>
<updated>2018-01-17T01:04:38+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stan@gitlab.com</email>
</author>
<published>2018-01-06T06:18:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=0424801ec8854167d17c76b68e6ae8c5b5a6a52a'/>
<id>0424801ec8854167d17c76b68e6ae8c5b5a6a52a</id>
<content type='text'>
Filter out sensitive fields from the project services API

See merge request gitlab/gitlabhq!2281

(cherry picked from commit 476f2576444632f2a9a61b4cead9c1077f2c81d7)

2bcbbda0 Filter out sensitive fields from the project services API
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Filter out sensitive fields from the project services API

See merge request gitlab/gitlabhq!2281

(cherry picked from commit 476f2576444632f2a9a61b4cead9c1077f2c81d7)

2bcbbda0 Filter out sensitive fields from the project services API
</pre>
</div>
</content>
</entry>
<entry>
<title>Use preload instead of includes to avoid joins</title>
<updated>2018-01-15T21:04:08+00:00</updated>
<author>
<name>Matija Čupić</name>
<email>matteeyah@gmail.com</email>
</author>
<published>2018-01-15T21:04:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=feb3449709ce4fce62227f67233bc4d061c66ab5'/>
<id>feb3449709ce4fce62227f67233bc4d061c66ab5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Eager load user, runner, pipeline and its creator</title>
<updated>2018-01-14T22:14:09+00:00</updated>
<author>
<name>Matija Čupić</name>
<email>matteeyah@gmail.com</email>
</author>
<published>2018-01-14T22:10:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=c9840842f181904e7a94946066bb5ca98c1f657a'/>
<id>c9840842f181904e7a94946066bb5ca98c1f657a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix N+1 in v3 builds API</title>
<updated>2018-01-13T21:40:14+00:00</updated>
<author>
<name>Matija Čupić</name>
<email>matteeyah@gmail.com</email>
</author>
<published>2018-01-13T21:29:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=c9a1a1552a11a9ff862bf08df7267c553f2e0e99'/>
<id>c9a1a1552a11a9ff862bf08df7267c553f2e0e99</id>
<content type='text'>
The N+1 issue was caused by loading the job_artifacts_archive for each
job (build) individually. Including that in the builds
AssociationRelation fixed the issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The N+1 issue was caused by loading the job_artifacts_archive for each
job (build) individually. Including that in the builds
AssociationRelation fixed the issue.
</pre>
</div>
</content>
</entry>
</feed>
