Requeue move builds metadata migration
What does this MR do and why?
This MR reschedules the background migration that was introduced in !208674 (merged) to fix two issues:
-
Enqueue migrations per partition name for parallelism: The original migration used
p_ci_buildsas the table name, but this MR changes it to enqueue separate jobs for each partition name (e.g.,public.p_ci_builds_100,public.p_ci_builds_101, etc.). This enables parallelism in the background migration framework by allowing multiple partitions to be processed concurrently. -
Fix vacuum check for fully qualified table names: The vacuum check logic has been updated to work correctly with fully qualified table names instead of just the base table name.
These changes ensure the MoveCiBuildsMetadata background migration can process partitions in parallel and performs proper vacuum checks before executing.
--- Before, in the old MR
gitlabhq_dblab=# select id, table_name, job_class_name, job_arguments, status from batched_background_migrations where job_class_name = 'MoveCiBuildsMetadata';
id | table_name | job_class_name | job_arguments | status
---------+-------------+----------------------+-------------------------+--------
3000510 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [100]] | 1
3000511 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [101]] | 1
3000512 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [102]] | 1
3000513 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [103]] | 1
3000514 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [104]] | 1
3000515 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [105]] | 1
3000516 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [106]] | 1
3000517 | p_ci_builds | MoveCiBuildsMetadata | ["partition_id", [107]] | 1
(8 rows)
-- Now, in this MR
gitlabhq_dblab=# select id, table_name, job_class_name, job_arguments, status from batched_background_migrations where job_class_name = 'MoveCiBuildsMetadata';
id | table_name | job_class_name | job_arguments | status
---------+-----------------------------------------+----------------------+-------------------------+--------
3000543 | gitlab_partitions_dynamic.ci_builds | MoveCiBuildsMetadata | ["partition_id", [100]] | 1
3000544 | gitlab_partitions_dynamic.ci_builds_101 | MoveCiBuildsMetadata | ["partition_id", [101]] | 1
3000545 | gitlab_partitions_dynamic.ci_builds_102 | MoveCiBuildsMetadata | ["partition_id", [102]] | 1
3000546 | gitlab_partitions_dynamic.ci_builds_103 | MoveCiBuildsMetadata | ["partition_id", [103]] | 1
3000547 | gitlab_partitions_dynamic.ci_builds_104 | MoveCiBuildsMetadata | ["partition_id", [104]] | 1
3000548 | gitlab_partitions_dynamic.ci_builds_105 | MoveCiBuildsMetadata | ["partition_id", [105]] | 1
3000549 | gitlab_partitions_dynamic.ci_builds_106 | MoveCiBuildsMetadata | ["partition_id", [106]] | 1
3000550 | gitlab_partitions_dynamic.ci_builds_107 | MoveCiBuildsMetadata | ["partition_id", [107]] | 1
(8 rows)
References
Related to !208674 (merged)
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.