summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-05-03 04:02:15 +0000
committerStan Hu <stanhu@gmail.com>2019-05-03 04:02:15 +0000
commit0595c6d5cd45fbf34f8779be544df72f83647915 (patch)
tree311848bff1d5a1a4b52c334f27730e090c1ff560
parent3a36c08bdda3f37848ae5d556cfd74923f8ab63b (diff)
downloadgitlab-ce-0595c6d5cd45fbf34f8779be544df72f83647915.tar.gz
Whitelist query limits for internal API
When creating a merge request for push options, there may be over 100 queries that are run to create a merge request. Even after we reduce the number of queries by disabling the Sidekiq jobs, it appears we still hover near this limit. Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/11450
-rw-r--r--lib/api/internal.rb2
-rw-r--r--spec/requests/api/internal_spec.rb4
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/api/internal.rb b/lib/api/internal.rb
index 00f0bbab231..c82fd230d7a 100644
--- a/lib/api/internal.rb
+++ b/lib/api/internal.rb
@@ -265,6 +265,8 @@ module API
params[:changes], push_options.as_json)
if Feature.enabled?(:mr_push_options, default_enabled: true)
+ Gitlab::QueryLimiting.whitelist('https://gitlab.com/gitlab-org/gitlab-ce/issues/61359')
+
mr_options = push_options.get(:merge_request)
output.merge!(process_mr_push_options(mr_options, project, user, params[:changes])) if mr_options.present?
end
diff --git a/spec/requests/api/internal_spec.rb b/spec/requests/api/internal_spec.rb
index 88c19448373..bae0302f3ff 100644
--- a/spec/requests/api/internal_spec.rb
+++ b/spec/requests/api/internal_spec.rb
@@ -959,7 +959,9 @@ describe API::Internal do
it 'creates a new merge request' do
expect do
- post api('/internal/post_receive'), params: valid_params
+ Sidekiq::Testing.fake! do
+ post api('/internal/post_receive'), params: valid_params
+ end
end.to change { MergeRequest.count }.by(1)
end