Method: Gitlab::QueryLimiting.disable!

Defined in:
lib/gitlab/query_limiting.rb

.disable!(issue_url, new_threshold: 200) ⇒ Object

Allows the current request to execute a higher number of SQL queries.

This method should only be used when there’s a corresponding issue to reduce the number of queries.

The issue URL is only meant to push developers into creating an issue instead of blindly disabling for offending blocks of code.

The new_threshold is so that we don’t allow unlimited number of SQL queries while the issue is being fixed.

Raises:

  • (ArgumentError)


31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/gitlab/query_limiting.rb', line 31

def self.disable!(issue_url, new_threshold: 200)
  raise ArgumentError, 'new_threshold cannot exceed 2_000' unless new_threshold < 2_000

  unless issue_url.start_with?('https://')
    raise(
      ArgumentError,
      'You must provide a valid issue URL in order to allow a block of code'
    )
  end

  Gitlab::SafeRequestStore[:query_limiting_override_threshold] = new_threshold
end