Commit af66305d authored by Stan Hu's avatar Stan Hu

Merge branch...

Merge branch '223788-improve-query-to-retrieve-job-artifacts-with-files-stored-locally' into 'master'

Improve query to retrieve job artifacts with files stored locally

Closes #223788

See merge request gitlab-org/gitlab!35084
parents 48967434 5aae35ea
......@@ -117,7 +117,7 @@ module Ci
after_save :update_file_store, if: :saved_change_to_file?
scope :not_expired, -> { where('expire_at IS NULL OR expire_at > ?', Time.current) }
scope :with_files_stored_locally, -> { where(file_store: [nil, ::JobArtifactUploader::Store::LOCAL]) }
scope :with_files_stored_locally, -> { where(file_store: ::JobArtifactUploader::Store::LOCAL) }
scope :with_files_stored_remotely, -> { where(file_store: ::JobArtifactUploader::Store::REMOTE) }
scope :for_sha, ->(sha, project_id) { joins(job: :pipeline).where(ci_pipelines: { sha: sha, project_id: project_id }) }
scope :for_ref, ->(ref, project_id) { joins(job: :pipeline).where(ci_pipelines: { ref: ref, project_id: project_id }) }
......
---
title: Improve query to retrieve job artifacts with files stored locally
merge_request: 35084
author:
type: performance
# frozen_string_literal: true
class RemoveIndexCiJobArtifactsFileStoreIsNull < ActiveRecord::Migration[6.0]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
INDEX_NAME = 'index_ci_job_artifacts_file_store_is_null'
disable_ddl_transaction!
def up
remove_concurrent_index_by_name(:ci_job_artifacts, INDEX_NAME)
end
def down
add_concurrent_index(:ci_job_artifacts, :id, where: "file_store IS NULL", name: INDEX_NAME)
end
end
# frozen_string_literal: true
class RemoveIndexLfsObjectsFileStoreIsNull < ActiveRecord::Migration[6.0]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
INDEX_NAME = 'index_lfs_objects_file_store_is_null'
disable_ddl_transaction!
def up
remove_concurrent_index_by_name(:lfs_objects, INDEX_NAME)
end
def down
add_concurrent_index(:lfs_objects, :id, where: "file_store IS NULL", name: INDEX_NAME)
end
end
# frozen_string_literal: true
class RemoveIndexUploadsStoreIsNull < ActiveRecord::Migration[6.0]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
INDEX_NAME = 'index_uploads_store_is_null'
disable_ddl_transaction!
def up
remove_concurrent_index_by_name(:uploads, INDEX_NAME)
end
def down
add_concurrent_index(:uploads, :id, where: "store IS NULL", name: INDEX_NAME)
end
end
......@@ -9559,8 +9559,6 @@ CREATE UNIQUE INDEX index_ci_group_variables_on_group_id_and_key ON public.ci_gr
CREATE UNIQUE INDEX index_ci_instance_variables_on_key ON public.ci_instance_variables USING btree (key);
CREATE INDEX index_ci_job_artifacts_file_store_is_null ON public.ci_job_artifacts USING btree (id) WHERE (file_store IS NULL);
CREATE INDEX index_ci_job_artifacts_for_terraform_reports ON public.ci_job_artifacts USING btree (project_id, id) WHERE (file_type = 18);
CREATE INDEX index_ci_job_artifacts_on_expire_at_and_job_id ON public.ci_job_artifacts USING btree (expire_at, job_id);
......@@ -10225,8 +10223,6 @@ CREATE UNIQUE INDEX index_lfs_file_locks_on_project_id_and_path ON public.lfs_fi
CREATE INDEX index_lfs_file_locks_on_user_id ON public.lfs_file_locks USING btree (user_id);
CREATE INDEX index_lfs_objects_file_store_is_null ON public.lfs_objects USING btree (id) WHERE (file_store IS NULL);
CREATE INDEX index_lfs_objects_on_file_store ON public.lfs_objects USING btree (file_store);
CREATE UNIQUE INDEX index_lfs_objects_on_oid ON public.lfs_objects USING btree (oid);
......@@ -11093,8 +11089,6 @@ CREATE INDEX index_uploads_on_store ON public.uploads USING btree (store);
CREATE INDEX index_uploads_on_uploader_and_path ON public.uploads USING btree (uploader, path);
CREATE INDEX index_uploads_store_is_null ON public.uploads USING btree (id) WHERE (store IS NULL);
CREATE INDEX index_user_agent_details_on_subject_id_and_subject_type ON public.user_agent_details USING btree (subject_id, subject_type);
CREATE INDEX index_user_callouts_on_user_id ON public.user_callouts USING btree (user_id);
......@@ -14120,5 +14114,8 @@ COPY "schema_migrations" (version) FROM STDIN;
20200618134223
20200618134723
20200622103836
20200622235737
20200623000148
20200623000320
\.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment