Merge branch '65963-avoid-extra-query-allowed-to-uninstall' into 'master'
Fix a performance issue in Helm#can_uninstall? Closes #65963 See merge request gitlab-org/gitlab-ce!31751
This commit is contained in:
commit
35994fe091
2 changed files with 10 additions and 2 deletions
|
@ -41,7 +41,7 @@ module Clusters
|
||||||
|
|
||||||
extra_apps = Clusters::Applications::Helm.where('EXISTS (?)', klass.select(1).where(cluster_id: cluster_id))
|
extra_apps = Clusters::Applications::Helm.where('EXISTS (?)', klass.select(1).where(cluster_id: cluster_id))
|
||||||
|
|
||||||
applications = applications.present? ? applications.or(extra_apps) : extra_apps
|
applications = applications ? applications.or(extra_apps) : extra_apps
|
||||||
end
|
end
|
||||||
|
|
||||||
!applications.exists?
|
!applications.exists?
|
||||||
|
|
|
@ -23,7 +23,7 @@ describe Clusters::Applications::Helm do
|
||||||
Clusters::Cluster::APPLICATIONS.keys.each do |application_name|
|
Clusters::Cluster::APPLICATIONS.keys.each do |application_name|
|
||||||
next if application_name == 'helm'
|
next if application_name == 'helm'
|
||||||
|
|
||||||
it do
|
it "is false when #{application_name} is installed" do
|
||||||
cluster_application = create("clusters_applications_#{application_name}".to_sym)
|
cluster_application = create("clusters_applications_#{application_name}".to_sym)
|
||||||
|
|
||||||
helm = cluster_application.cluster.application_helm
|
helm = cluster_application.cluster.application_helm
|
||||||
|
@ -31,6 +31,14 @@ describe Clusters::Applications::Helm do
|
||||||
expect(helm.allowed_to_uninstall?).to be_falsy
|
expect(helm.allowed_to_uninstall?).to be_falsy
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'executes a single query only' do
|
||||||
|
cluster_application = create(:clusters_applications_ingress)
|
||||||
|
helm = cluster_application.cluster.application_helm
|
||||||
|
|
||||||
|
query_count = ActiveRecord::QueryRecorder.new { helm.allowed_to_uninstall? }.count
|
||||||
|
expect(query_count).to eq(1)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "without other existing applications" do
|
context "without other existing applications" do
|
||||||
|
|
Loading…
Reference in a new issue