From 4b597f603da0992ffcb97a200ff8ff30bd226e86 Mon Sep 17 00:00:00 2001 From: Maxime Orefice Date: Tue, 17 Jan 2023 10:50:41 +0100 Subject: [PATCH 1/2] Add tmp indexes for CI partitioning - 3 Changelog: added --- ...dd_tmp_index_to_ci_build_trace_metadata.rb | 20 +++++++++++++++++++ ...26_prepare_tmp_index_to_ci_job_artifact.rb | 20 +++++++++++++++++++ ...16_prepare_tmp_index_to_ci_job_variable.rb | 20 +++++++++++++++++++ db/schema_migrations/20230117094111 | 1 + db/schema_migrations/20230117094226 | 1 + db/schema_migrations/20230117094316 | 1 + 6 files changed, 63 insertions(+) create mode 100644 db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb create mode 100644 db/post_migrate/20230117094226_prepare_tmp_index_to_ci_job_artifact.rb create mode 100644 db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb create mode 100644 db/schema_migrations/20230117094111 create mode 100644 db/schema_migrations/20230117094226 create mode 100644 db/schema_migrations/20230117094316 diff --git a/db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb b/db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb new file mode 100644 index 00000000000000..57829404ae3d5f --- /dev/null +++ b/db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class AddTmpIndexToCiBuildTraceMetadata < Gitlab::Database::Migration[2.1] + disable_ddl_transaction! + + INDEX_NAME = :tmp_index_ci_build_trace_metadata_on_partition_id_and_id + TABLE_NAME = :ci_build_trace_metadata + + def up + return unless Gitlab.com? + + add_concurrent_index(TABLE_NAME, [:partition_id, :build_id], where: 'partition_id = 101', name: INDEX_NAME) + end + + def down + return unless Gitlab.com? + + remove_concurrent_index_by_name(TABLE_NAME, INDEX_NAME) + end +end diff --git a/db/post_migrate/20230117094226_prepare_tmp_index_to_ci_job_artifact.rb b/db/post_migrate/20230117094226_prepare_tmp_index_to_ci_job_artifact.rb new file mode 100644 index 00000000000000..db0c51e4cfd804 --- /dev/null +++ b/db/post_migrate/20230117094226_prepare_tmp_index_to_ci_job_artifact.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class PrepareTmpIndexToCiJobArtifact < Gitlab::Database::Migration[2.1] + disable_ddl_transaction! + + INDEX_NAME = :tmp_index_ci_job_artifacts_on_partition_id_and_id + TABLE_NAME = :ci_job_artifacts + + def up + return unless Gitlab.com? + + prepare_async_index(TABLE_NAME, [:partition_id, :id], where: 'partition_id = 101', name: INDEX_NAME) + end + + def down + return unless Gitlab.com? + + unprepare_async_index_by_name(TABLE_NAME, INDEX_NAME) + end +end diff --git a/db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb b/db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb new file mode 100644 index 00000000000000..cf23a79b4b9e17 --- /dev/null +++ b/db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class PrepareTmpIndexToCiJobVariable < Gitlab::Database::Migration[2.1] + disable_ddl_transaction! + + INDEX_NAME = :tmp_index_ci_job_variables_on_partition_id_and_id + TABLE_NAME = :ci_job_variables + + def up + return unless Gitlab.com? + + prepare_async_index(TABLE_NAME, [:partition_id, :id], where: 'partition_id = 101', name: INDEX_NAME) + end + + def down + return unless Gitlab.com? + + unprepare_async_index_by_name(TABLE_NAME, INDEX_NAME) + end +end diff --git a/db/schema_migrations/20230117094111 b/db/schema_migrations/20230117094111 new file mode 100644 index 00000000000000..407024de0cb32f --- /dev/null +++ b/db/schema_migrations/20230117094111 @@ -0,0 +1 @@ +49b81bf05f155f17d44fede8a513ee5bea56e2ba7cd41a55505e31ba36c50b5e \ No newline at end of file diff --git a/db/schema_migrations/20230117094226 b/db/schema_migrations/20230117094226 new file mode 100644 index 00000000000000..cc0943e7e6563e --- /dev/null +++ b/db/schema_migrations/20230117094226 @@ -0,0 +1 @@ +429754e80bcfde582c92a69a6b655a13254b7ac0fe3504bfad0924560a4c1eed \ No newline at end of file diff --git a/db/schema_migrations/20230117094316 b/db/schema_migrations/20230117094316 new file mode 100644 index 00000000000000..5657905baf9fe7 --- /dev/null +++ b/db/schema_migrations/20230117094316 @@ -0,0 +1 @@ +7cd9ca122b41eb610e03dd258d74c5c7aaa31482a4ff21dfba720def099a1487 \ No newline at end of file -- GitLab From 6b3c070263fafdd9c61f6218ad83eacef7ef7a5e Mon Sep 17 00:00:00 2001 From: Maxime Orefice Date: Thu, 19 Jan 2023 09:18:13 +0100 Subject: [PATCH 2/2] Apply code review feedback --- ...7094111_prepare_tmp_index_to_ci_build_trace_metadata.rb} | 6 +++--- ...b => 20230117094316_add_tmp_index_to_ci_job_variable.rb} | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) rename db/post_migrate/{20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb => 20230117094111_prepare_tmp_index_to_ci_build_trace_metadata.rb} (52%) rename db/post_migrate/{20230117094316_prepare_tmp_index_to_ci_job_variable.rb => 20230117094316_add_tmp_index_to_ci_job_variable.rb} (52%) diff --git a/db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb b/db/post_migrate/20230117094111_prepare_tmp_index_to_ci_build_trace_metadata.rb similarity index 52% rename from db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb rename to db/post_migrate/20230117094111_prepare_tmp_index_to_ci_build_trace_metadata.rb index 57829404ae3d5f..93356b4eb3fb31 100644 --- a/db/post_migrate/20230117094111_add_tmp_index_to_ci_build_trace_metadata.rb +++ b/db/post_migrate/20230117094111_prepare_tmp_index_to_ci_build_trace_metadata.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class AddTmpIndexToCiBuildTraceMetadata < Gitlab::Database::Migration[2.1] +class PrepareTmpIndexToCiBuildTraceMetadata < Gitlab::Database::Migration[2.1] disable_ddl_transaction! INDEX_NAME = :tmp_index_ci_build_trace_metadata_on_partition_id_and_id @@ -9,12 +9,12 @@ class AddTmpIndexToCiBuildTraceMetadata < Gitlab::Database::Migration[2.1] def up return unless Gitlab.com? - add_concurrent_index(TABLE_NAME, [:partition_id, :build_id], where: 'partition_id = 101', name: INDEX_NAME) + prepare_async_index(TABLE_NAME, [:partition_id, :build_id], where: 'partition_id = 101', name: INDEX_NAME) end def down return unless Gitlab.com? - remove_concurrent_index_by_name(TABLE_NAME, INDEX_NAME) + unprepare_async_index_by_name(TABLE_NAME, INDEX_NAME) end end diff --git a/db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb b/db/post_migrate/20230117094316_add_tmp_index_to_ci_job_variable.rb similarity index 52% rename from db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb rename to db/post_migrate/20230117094316_add_tmp_index_to_ci_job_variable.rb index cf23a79b4b9e17..96de0c9fed1808 100644 --- a/db/post_migrate/20230117094316_prepare_tmp_index_to_ci_job_variable.rb +++ b/db/post_migrate/20230117094316_add_tmp_index_to_ci_job_variable.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class PrepareTmpIndexToCiJobVariable < Gitlab::Database::Migration[2.1] +class AddTmpIndexToCiJobVariable < Gitlab::Database::Migration[2.1] disable_ddl_transaction! INDEX_NAME = :tmp_index_ci_job_variables_on_partition_id_and_id @@ -9,12 +9,12 @@ class PrepareTmpIndexToCiJobVariable < Gitlab::Database::Migration[2.1] def up return unless Gitlab.com? - prepare_async_index(TABLE_NAME, [:partition_id, :id], where: 'partition_id = 101', name: INDEX_NAME) + add_concurrent_index(TABLE_NAME, [:partition_id, :id], where: 'partition_id = 101', name: INDEX_NAME) end def down return unless Gitlab.com? - unprepare_async_index_by_name(TABLE_NAME, INDEX_NAME) + remove_concurrent_index_by_name(TABLE_NAME, INDEX_NAME) end end -- GitLab