summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/ci/pipeline.rb2
-rw-r--r--app/models/ci/stage.rb2
-rw-r--r--app/models/commit.rb2
-rw-r--r--changelogs/unreleased/sh-disable-replace-methods-batch-loader.yml5
4 files changed, 8 insertions, 3 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index 0a943a33bbb..3b3482499c0 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -530,7 +530,7 @@ module Ci
end
def number_of_warnings
- BatchLoader.for(id).batch(default_value: 0) do |pipeline_ids, loader|
+ BatchLoader.for(id).batch(default_value: 0, replace_methods: false) do |pipeline_ids, loader|
::Ci::Build.where(commit_id: pipeline_ids)
.latest
.failed_but_allowed
diff --git a/app/models/ci/stage.rb b/app/models/ci/stage.rb
index d90339d90dc..b460fd58c75 100644
--- a/app/models/ci/stage.rb
+++ b/app/models/ci/stage.rb
@@ -105,7 +105,7 @@ module Ci
end
def number_of_warnings
- BatchLoader.for(id).batch(default_value: 0) do |stage_ids, loader|
+ BatchLoader.for(id).batch(default_value: 0, replace_methods: false) do |stage_ids, loader|
::Ci::Build.where(stage_id: stage_ids)
.latest
.failed_but_allowed
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 0889ce7e287..bf9bdaef19c 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -229,7 +229,7 @@ class Commit
end
def lazy_author
- BatchLoader.for(author_email.downcase).batch do |emails, loader|
+ BatchLoader.for(author_email.downcase).batch(replace_methods: false) do |emails, loader|
users = User.by_any_email(emails).includes(:emails)
emails.each do |email|
diff --git a/changelogs/unreleased/sh-disable-replace-methods-batch-loader.yml b/changelogs/unreleased/sh-disable-replace-methods-batch-loader.yml
new file mode 100644
index 00000000000..d44913fbd81
--- /dev/null
+++ b/changelogs/unreleased/sh-disable-replace-methods-batch-loader.yml
@@ -0,0 +1,5 @@
+---
+title: Speed up MR widget by disabling BatchLoader replace_methods
+merge_request: 29920
+author:
+type: performance