summaryrefslogtreecommitdiff
path: root/doc/development/query_count_limits.md
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-20 23:50:22 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-20 23:50:22 +0000
commit9dc93a4519d9d5d7be48ff274127136236a3adb3 (patch)
tree70467ae3692a0e35e5ea56bcb803eb512a10bedb /doc/development/query_count_limits.md
parent4b0f34b6d759d6299322b3a54453e930c6121ff0 (diff)
downloadgitlab-ce-9dc93a4519d9d5d7be48ff274127136236a3adb3.tar.gz
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc43
Diffstat (limited to 'doc/development/query_count_limits.md')
-rw-r--r--doc/development/query_count_limits.md20
1 files changed, 10 insertions, 10 deletions
diff --git a/doc/development/query_count_limits.md b/doc/development/query_count_limits.md
index a9569fee8cc..fec6f9022ee 100644
--- a/doc/development/query_count_limits.md
+++ b/doc/development/query_count_limits.md
@@ -15,30 +15,30 @@ When a test fails because it executes more than 100 SQL queries there are two
solutions to this problem:
- Reduce the number of SQL queries that are executed.
-- Whitelist the controller or API endpoint.
+- Disable query limiting for the controller or API endpoint.
-You should only resort to whitelisting when an existing controller or endpoint
+You should only resort to disabling query limits when an existing controller or endpoint
is to blame as in this case reducing the number of SQL queries can take a lot of
effort. Newly added controllers and endpoints are not allowed to execute more
than 100 SQL queries and no exceptions are made for this rule. _If_ a large
number of SQL queries is necessary to perform certain work it's best to have
this work performed by Sidekiq instead of doing this directly in a web request.
-## Whitelisting
+## Disable query limiting
-In the event that you _have_ to whitelist a controller you must first
+In the event that you _have_ to disable query limits for a controller, you must first
create an issue. This issue should (preferably in the title) mention the
controller or endpoint and include the appropriate labels (`database`,
`performance`, and at least a team specific label such as `Discussion`).
-After the issue has been created you can whitelist the code in question. For
+After the issue has been created, you can disable query limits on the code in question. For
Rails controllers it's best to create a `before_action` hook that runs as early
as possible. The called method in turn should call
-`Gitlab::QueryLimiting.whitelist('issue URL here')`. For example:
+`Gitlab::QueryLimiting.disable!('issue URL here')`. For example:
```ruby
class MyController < ApplicationController
- before_action :whitelist_query_limiting, only: [:show]
+ before_action :disable_query_limiting, only: [:show]
def index
# ...
@@ -48,8 +48,8 @@ class MyController < ApplicationController
# ...
end
- def whitelist_query_limiting
- Gitlab::QueryLimiting.whitelist('https://gitlab.com/gitlab-org/...')
+ def disable_query_limiting
+ Gitlab::QueryLimiting.disable!('https://gitlab.com/gitlab-org/...')
end
end
```
@@ -63,7 +63,7 @@ call directly into the endpoint like so:
```ruby
get '/projects/:id/foo' do
- Gitlab::QueryLimiting.whitelist('...')
+ Gitlab::QueryLimiting.disable!('...')
# ...
end