diff options
author | Stan Hu <stanhu@gmail.com> | 2019-05-03 07:02:15 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-05-03 07:02:15 +0300 |
commit | 0595c6d5cd45fbf34f8779be544df72f83647915 (patch) | |
tree | 311848bff1d5a1a4b52c334f27730e090c1ff560 | |
parent | 3a36c08bdda3f37848ae5d556cfd74923f8ab63b (diff) |
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.rb | 2 | ||||
-rw-r--r-- | spec/requests/api/internal_spec.rb | 4 |
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 |