summaryrefslogtreecommitdiff
path: root/doc/development/query_count_limits.md
diff options
context:
space:
mode:
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