CI/CD data decay
## Description Architecture evolution blueprint :arrow_right: https://docs.gitlab.com/ee/architecture/blueprints/ci_data_decay/ Pipeline partitioning design document: https://docs.gitlab.com/ee/architecture/blueprints/ci_data_decay/pipeline_partitioning.html ## Progress Current status: in progress. ### Partition CI/CD pipelines data track <!-- GENERATED BY HEADWAY PROGRESS REPORT DO NOT EDIT --> | :checkered_flag: | Iteration | References | Status / ETA | DRI | Impact | | --- | --- | --- | --- | --- | --- | | :information_source: | Update CI/CD Scaling blueprint with the current state | gitlab-org/gitlab!76111 | | `@grzesiek` | | | :information_source: | Fix CI/CD time decay blueprint disclaimer | gitlab-org/gitlab!77868 | | `@grzesiek` | | | :information_source: | Update CI/CD data decay blueprint with new content and links | gitlab-org/gitlab!79110 | %14.8 | `@grzesiek` | | | :white_check_mark: | Remove dangling running entries from ci running builds table | gitlab-org/gitlab!79444 | %14.8 | `@mbobin` | | | :white_check_mark: | Backfill CI queuing tables | gitlab-org/gitlab!80172 | %14.8 | `@mbobin` | | | :information_source: | Draft: CI/CD partitioning PoC | gitlab-org/gitlab!80186 | %14.10 | `@grzesiek` | | | :white_check_mark: | Fix query analyzers base context / suppress keys | gitlab-org/gitlab!80824 | %14.9 | `@grzesiek` | | | :white_check_mark: | Cleanup back-filling CI queuing tables migration | gitlab-org/gitlab!81602 | %14.9 | `@mbobin` | | | :information_source: | Update CI scaling blueprint status and link remaining work | gitlab-org/gitlab!81808 | %14.9 | `@grzesiek` | | | :information_source: | Draft: PoC pipelines associations with cascading partition id | gitlab-org/gitlab!84071 | | `@grzesiek` | | | :information_source: | Add pipeline partitioning design details to docs | gitlab-org/gitlab!87683 | %15.1 | `@grzesiek` | | | :information_source: | Reference pipeline partitioning design in time decay blueprint | gitlab-org/gitlab!89030 | %15.1 | `@grzesiek` | | | :information_source: | Add timeline to CI/CD time decay blueprint | gitlab-org/gitlab!89034 | %15.1 | `@grzesiek` | | | :white_check_mark: | Add a few examples of iterative CI/CD data partitioning | gitlab-org/gitlab!89521 | | `@grzesiek` | | | :white_check_mark: | Add pipeline age Prometheus histogram metric | gitlab-org/gitlab!90027 | %15.2 | `@grzesiek` | | | :white_check_mark: | Removes Ci::LegacyStage | gitlab-org/gitlab!91060 | %15.2 | `@lauraXD` | | | :white_check_mark: | Remove plaintext token index from ci_builds | gitlab-org/gitlab!91258 | %15.3 | `@mbobin` | Reduced `ci_builds` size by `4.4GB` | | :white_check_mark: | Drop unused ci builds index | gitlab-org/gitlab!91470 | %15.2 | `@morefice` | Reduced `ci_builds` size by `0.8GB` | | :white_check_mark: | Drop unused scope on ci builds | gitlab-org/gitlab!91473 | %15.3 | `@morefice` | | | :white_check_mark: | Remove legacy queuing code | gitlab-org/gitlab!91595 | %15.2 | `@mbobin` | Removed 600 legacy LoC | | :information_source: | Draft: PoC for removing partitioned data using foreign keys | gitlab-org/gitlab!92440 | %15.5 | `@mbobin` | | | :white_check_mark: | Replace hardcoded table names with arel values | gitlab-org/gitlab!92535 | %15.2 | `@mbobin` | | | :white_check_mark: | Drop unused index on ci_builds | gitlab-org/gitlab!92747 | %15.3 | `@morefice` | Reduced `ci_builds` size by `70GB` | | :information_source: | Add foreign key findings to CI data decay | gitlab-org/gitlab!92781 | %15.4 | `@mbobin` | | | :white_check_mark: | Remove pending builds covering index | gitlab-org/gitlab!92877 | %15.3 | `@mbobin` | | | :white_check_mark: | Remove token column from ci_builds table | gitlab-org/gitlab!92894 | %15.3 | `@mbobin` | Reduced `ci_builds` size by `2.2GB` | | :white_check_mark: | Improve efficiency of specs for builds queuing | gitlab-org/gitlab!93270 | %15.3 | `@grzesiek` | | | :white_check_mark: | Remove reads to stage column from build | gitlab-org/gitlab!94941 | %15.4 | `@morefice` | | | :white_check_mark: | Remove pipeline#find_stage_by_name! | gitlab-org/gitlab!95166 | %15.3 | `@morefice` | | | :white_check_mark: | Add uniqueness index findings to CI data decay | gitlab-org/gitlab!95250 | %15.3 | `@morefice` | | | :white_check_mark: | Dedicated file for GenericCommitStatus factory | gitlab-org/gitlab!95696 | %15.4 | `@morefice` | | | :information_source: | Fetch Ci::Stage by id | gitlab-org/gitlab!95711 | %15.4 | `@morefice` | | | :information_source: | Document ALTER TABLE behavior for CI partitioning | gitlab-org/gitlab!95944 | %15.4 | `@stomlinson` | | | :information_source: | Add naming conventions for CI partitioning | gitlab-org/gitlab!96530 | %15.4 | `@mbobin` | | | :information_source: | Add blueprint docs about partitioning builds metadata first | gitlab-org/gitlab!96741 | %15.4 | `@grzesiek` | | | :white_check_mark: | Zero partition helper | gitlab-org/gitlab!96815 | %15.4 | `@stomlinson` | | | :white_check_mark: | Add partition_id column to selected CI database tables | gitlab-org/gitlab!96856 | %15.4 | `@mbobin` | | | :white_check_mark: | Prepare to remove trace column from ci_builds | gitlab-org/gitlab!96865 | %15.4 | `@mbobin` | | | :information_source: | Document index maintenance findings | gitlab-org/gitlab!97007 | %15.4 | `@morefice` | | | :white_check_mark: | Remove ci_read_stage_records feature flag | gitlab-org/gitlab!97030 | %15.4 | `@morefice` | | | :white_check_mark: | Introduce Ci::PartitioningAnalyzer | gitlab-org/gitlab!97113 | %15.4 | `@morefice` | | | :white_check_mark: | Cascade partitioning key for pipeline resources during creation/retry | gitlab-org/gitlab!97163 | %15.4 | `@mbobin` | | | :white_check_mark: | Copy partition_id from jobs when creating new artifacts | gitlab-org/gitlab!97360 | %15.4 | `@mbobin` | | | :white_check_mark: | Cascade partition id value to pipeline variables | gitlab-org/gitlab!97388 | %15.4 | `@mbobin` | | | :white_check_mark: | Cascade partition value to generic commit statuses and their stages | gitlab-org/gitlab!97672 | %15.4 | `@mbobin` | | | :information_source: | Draft: Resolve "Partition`ci_builds_metadata` table" | gitlab-org/gitlab!97776 | %15.5 | `@morefice` | | | :white_check_mark: | Updates spec setup for BuildDependencies and more - 7/10 | gitlab-org/gitlab!97797 | %15.4 | `@lauraXD` | | | :white_check_mark: | Assign partition value to child pipelines from parent pipeline | gitlab-org/gitlab!97822 | %15.4 | `@mbobin` | | | :white_check_mark: | Prepare Ci::BuildMetadata for partitioning 1/3 | gitlab-org/gitlab!97924 | %15.4 | `@morefice` | | | :white_check_mark: | Prepare Ci::BuildMetadata for partitioning 2/3 | gitlab-org/gitlab!97926 | %15.5 | `@morefice` | | | :white_check_mark: | Add indexes to ci_builds_metadata | gitlab-org/gitlab!98170 | %15.5 | `@morefice` | | | :information_source: | Document Zero partition helper | gitlab-org/gitlab!98217 | %15.5 | `@morefice` | | | :white_check_mark: | Implement generic test case for builds partitioning | gitlab-org/gitlab!98309 | %15.5 | `@mbobin` | | | :information_source: | Fix typo in CI Data Decay blueprint | gitlab-org/gitlab!98414 | %15.5 | `@morefice` | | | :information_source: | Update CI scaling blueprints and add CI partitioning timeline | gitlab-org/gitlab!98416 | %15.5 | `@grzesiek` | | | :white_check_mark: | Schedule index removal for ci_builds_metadata | gitlab-org/gitlab!98429 | %15.5 | `@morefice` | | | :white_check_mark: | Ensure that stage name and record are in sync for page deployments | gitlab-org/gitlab!98506 | %15.5 | `@mbobin` | | | :white_check_mark: | GraphQL fetch stage by id | gitlab-org/gitlab!98511 | %15.5 | `@morefice` | | | :information_source: | Fix dates on x-axis in pipeline partitioning timeline chart | gitlab-org/gitlab!98558 | | `@grzesiek` | | | :white_check_mark: | Add swap_primary_key database helper | gitlab-org/gitlab!98645 | %15.5 | `@morefice` | | | :white_check_mark: | Remove trace column from ci_builds table | gitlab-org/gitlab!98646 | %15.5 | `@mbobin` | | | :information_source: | Document primary key strategy CI partitioning | gitlab-org/gitlab!98762 | %15.5 | `@morefice` | | | :white_check_mark: | Allow add_concurrent_foreign_key to support multiple columns definition | gitlab-org/gitlab!98974 | %15.5 | `@morefice` | | | :information_source: | Update documentation for composite primary keys | gitlab-org/gitlab!98987 | %15.5 | `@mbobin` | | | :white_check_mark: | Drop index on ci_builds_metadata | gitlab-org/gitlab!99483 | %15.5 | `@morefice` | | | :white_check_mark: | Partition ci_builds_metadata table | gitlab-org/gitlab!100115 | %15.6 | `@mbobin` | | | :white_check_mark: | Fix lock retries for the partition helper | gitlab-org/gitlab!100169 | %15.5 | `@mbobin` | | | :white_check_mark: | Use table_name in SQL queries for Ci::BuildMetadata | gitlab-org/gitlab!100248 | %15.5 | `@mbobin` | | | :information_source: | Draft: Test scope block argument for partitionable | gitlab-org/gitlab!100696 | %15.5 | `@mbobin` | | | :white_check_mark: | Extend Ci::PartitioningAnalyzer to check `partition_id` presence | gitlab-org/gitlab!100804 | %15.6 | `@morefice` | | | :information_source: | Split list partitioning migration into separate migrations | gitlab-org/gitlab!100810 | %15.5 | `@mbobin` | | | :white_check_mark: | Ensure current user owns table to partition | gitlab-org/gitlab!100889 | %15.5 | `@stomlinson` | | | :white_check_mark: | Switch from partition to routing table | gitlab-org/gitlab!100935 | %15.6 | `@mbobin` | | | :information_source: | Update CI partitioning blueprints with the current state and insights | gitlab-org/gitlab!101043 | %15.5 | `@grzesiek` | | | :white_check_mark: | Add TimeoutHelpers | gitlab-org/gitlab!101332 | %15.6 | `@morefice` | | | :white_check_mark: | Add LockRetriesHelpers | gitlab-org/gitlab!101333 | %15.6 | `@morefice` | | | :white_check_mark: | Extract ensure_batched_background_migration_is_finished to BatchedBackgroundMigrationHelpers | gitlab-org/gitlab!101370 | %15.6 | `@morefice` | | | :information_source: | Document a possible separator in partitioned resource URI | gitlab-org/gitlab!101374 | %15.5 | `@grzesiek` | | | :information_source: | Document setting the sequence name explicitly | gitlab-org/gitlab!101638 | %15.6 | `@mbobin` | | | :information_source: | Document add_concurrent_partitioned_index helper | gitlab-org/gitlab!101642 | %15.6 | `@morefice` | | | :white_check_mark: | Add Migration::ConstraintsHelpers | gitlab-org/gitlab!101737 | %15.6 | `@morefice` | | | :white_check_mark: | Remove ignore rules for ci_builds.trace | gitlab-org/gitlab!101744 | %15.6 | `@mbobin` | | | :white_check_mark: | Explicitly lock tables for partitioning | gitlab-org/gitlab!101769 | %15.6 | `@mbobin` | | | :white_check_mark: | Prevent usage of add_concurrent_index on partition table | gitlab-org/gitlab!101924 | %15.6 | `@morefice` | | | :white_check_mark: | Prevent unnecessary jsonb updates for builds_metadata | gitlab-org/gitlab!102031 | %15.6 | `@mbobin` | | | :white_check_mark: | Cleanup job token authentication for artifacts download | gitlab-org/gitlab!102161 | %15.6 | `@mbobin` | | | :white_check_mark: | Fix percentage of time rollouts for routing tables switch | gitlab-org/gitlab!102621 | %15.6 | `@mbobin` | | | :white_check_mark: | Create the first dynamic partition for builds metadata | gitlab-org/gitlab!102735 | %15.6 | `@mbobin` | | | :white_check_mark: | Enable Ci::PartitioningAnalyzer | gitlab-org/gitlab!102762 | %15.6 | `@morefice` | | | :information_source: | Document priority locking strategy | gitlab-org/gitlab!102767 | %15.6 | `@morefice` | | | :information_source: | Refactor Ci::PartitioningAnalyzer | gitlab-org/gitlab!102861 | %15.6 | `@morefice` | | | :white_check_mark: | Prevent index removal on partition table | gitlab-org/gitlab!103172 | %15.6 | `@morefice` | | | :information_source: | Document query analyzer strategy | gitlab-org/gitlab!103487 | %15.6 | `@morefice` | | | :information_source: | Draft: Wip prep ci_builds partitioning | gitlab-org/gitlab!103516 | %15.8 | `@morefice` | | | :white_check_mark: | Add partition_id to CI models referenced by foreign keys | gitlab-org/gitlab!103594 | %15.6 | `@morefice` | | | :white_check_mark: | Remove add_column_with_default | gitlab-org/gitlab!103907 | %15.7 | `@morefice` | | | :information_source: | Draft: Add FK to p_ci_builds_metadata | gitlab-org/gitlab!104226 | %15.7 | `@morefice` | | | :information_source: | Remove the `p` letter suffix from partition names | gitlab-org/gitlab!104389 | %15.7 | `@mbobin` | | | :information_source: | Update steps required for partitioning new tables | gitlab-org/gitlab!104485 | %15.7 | `@mbobin` | | | :white_check_mark: | Add partition_id to ci_resources | gitlab-org/gitlab!104567 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::UnitTestFailure | gitlab-org/gitlab!104571 | %15.7 | `@morefice` | | | :white_check_mark: | Use an exisiting builds metadata partition for tests | gitlab-org/gitlab!104671 | %15.7 | `@mbobin` | | | :white_check_mark: | Cascade partition_id to Ci::Sources::Pipeline | gitlab-org/gitlab!104678 | %15.7 | `@morefice` | | | :information_source: | Draft: Cascade partition_id to Ci::Resource | gitlab-org/gitlab!104683 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::BuildPendingState | gitlab-org/gitlab!104695 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to pending / running build entries | gitlab-org/gitlab!104718 | %15.7 | `@grzesiek` | | | :hourglass_flowing_sand: | Draft: Handle tables referenced by foreign key in ConvertTableToFirstListPartitionHelper | gitlab-org/gitlab!104792 | %18.9 | `@stomlinson` | | | :white_check_mark: | Cascade partition_id to Ci::BuildReportResult | gitlab-org/gitlab!104834 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::BuildTraceChunk | gitlab-org/gitlab!104836 | %15.7 | `@morefice` | | | :white_check_mark: | Use table_name for Ci::Build SQL queries | gitlab-org/gitlab!104942 | %15.7 | `@morefice` | | | :white_check_mark: | Update Ci::BuildMetadata with association | gitlab-org/gitlab!104945 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::BuildNeed | gitlab-org/gitlab!104953 | %15.7 | `@morefice` | | | :information_source: | Describe partitioning for multi-project pipelines | gitlab-org/gitlab!104969 | %15.7 | `@mbobin` | | | :white_check_mark: | Use the routing table by default for Ci::BuildMetadata | gitlab-org/gitlab!105071 | %15.7 | `@mbobin` | | | :white_check_mark: | Patch ActiveRecord CRUD actions for partitioning | gitlab-org/gitlab!105103 | %15.7 | `@mbobin` | | | :information_source: | Backport Rails 7 preloader and associations for partitioning | gitlab-org/gitlab!105237 | | `@mbobin` | | | :white_check_mark: | Cascade partition_id to Ci::BuildTraceMetadata | gitlab-org/gitlab!105314 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::BuildRunnerSession | gitlab-org/gitlab!105520 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::JobVariable | gitlab-org/gitlab!105636 | %15.7 | `@morefice` | | | :white_check_mark: | Prepare Ci::Build for partitioning | gitlab-org/gitlab!106128 | %15.7 | `@morefice` | | | :white_check_mark: | Prefix partition_id to Ci::Build#token | gitlab-org/gitlab!106179 | %15.7 | `@morefice` | | | :white_check_mark: | Cascade partition_id to Ci::Resource | gitlab-org/gitlab!106431 | %15.7 | `@mbobin` | | | :white_check_mark: | Add unique index to ci_builds | gitlab-org/gitlab!106680 | %15.7 | `@morefice` | | | :white_check_mark: | Add FKs including partition_id referencing ci_builds | gitlab-org/gitlab!106717 | %15.8 | `@morefice` | | | :white_check_mark: | Schedule async index on ci_builds | gitlab-org/gitlab!106952 | %15.8 | `@morefice` | | | :white_check_mark: | Remove ci_build_partition_id_token_prefix feature flag | gitlab-org/gitlab!107103 | %15.8 | `@morefice` | | | :white_check_mark: | Refactor query counts for pipeline serialization tests | gitlab-org/gitlab!107190 | %15.7 | `@mbobin` | | | :information_source: | Switch current partition_id value to 101 | gitlab-org/gitlab!107225 | %15.9 | `@mbobin` | | | :information_source: | Draft: Swap ci_builds primary key | gitlab-org/gitlab!107343 | %15.8 | `@morefice` | | | :white_check_mark: | Disable ci_builds reindexing on Sundays | gitlab-org/gitlab!107448 | %15.8 | `@mbobin` | | | :white_check_mark: | Bump default partition_id value for CI tables to 101 | gitlab-org/gitlab!107472 | %15.8 | `@mbobin` | | | :white_check_mark: | Add FK including partition_id to ci_build_report_results | gitlab-org/gitlab!107476 | %15.9 | `@morefice` | | | :white_check_mark: | Add FK including partition_id to ci_build_needs | gitlab-org/gitlab!107547 | %15.9 | `@morefice` | | | :information_source: | Add FK including partition_id to ci_builds_runner_session | gitlab-org/gitlab!107549 | %15.9 | `@morefice` | | | :white_check_mark: | Remove job token on completion | gitlab-org/gitlab!108021 | %15.9 | `@mbobin` | | | :white_check_mark: | Use the same exclusive lease key name for all indexing actions | gitlab-org/gitlab!108099 | %15.8 | `@mbobin` | | | :white_check_mark: | Add gem skeleton for ActiveRecord partitioning patches | gitlab-org/gitlab!108223 | %15.9 | `@mbobin` | | | :information_source: | Copy Rails 7 Preloader files into the partitioning gem | gitlab-org/gitlab!108224 | %Backlog | `@mbobin` | | | :information_source: | Draft: Add ActiveRecord patches to the partitioning preloading gem | gitlab-org/gitlab!108225 | %Backlog | `@mbobin` | | | :information_source: | Add configuration options to the partitioning gem | gitlab-org/gitlab!108229 | %Backlog | `@mbobin` | | | :information_source: | Require partitioning preloader gem | gitlab-org/gitlab!108239 | %Backlog | `@mbobin` | | | :white_check_mark: | Check time before starting reindex action | gitlab-org/gitlab!108428 | %15.8 | `@mbobin` | | | :white_check_mark: | Accept on_update option for add_concurrent_foreign_key helper | gitlab-org/gitlab!108535 | %15.8 | `@mbobin` | | | :information_source: | Draft: Rebalance CI partitions | gitlab-org/gitlab!108544 | %Backlog | `@mbobin` | | | :white_check_mark: | Redefine FKs with update statement | gitlab-org/gitlab!108571 | %15.9 | `@morefice` | | | :white_check_mark: | Update High Traffic table CI list | gitlab-org/gitlab!108688 | %15.8 | `@morefice` | | | :white_check_mark: | Ensure build metadata record exists with before_validation | gitlab-org/gitlab!108780 | %15.9 | `@mbobin` | | | :white_check_mark: | Add tmp indexes for CI partitioning - 1 | gitlab-org/gitlab!108788 | %15.9 | `@morefice` | | | :information_source: | Specify CI data partitioning DRIs in the blueprint | gitlab-org/gitlab!108795 | %15.8 | `@grzesiek` | | | :white_check_mark: | Add tmp indexes for CI partitioning - 2 | gitlab-org/gitlab!108823 | %15.9 | `@morefice` | | | :white_check_mark: | Drop unused index in ci_builds | gitlab-org/gitlab!108964 | %15.9 | `@morefice` | | | :information_source: | Update partitioning docs to include on_update: :cascade for FKs | gitlab-org/gitlab!108972 | %15.8 | `@mbobin` | | | :white_check_mark: | Use format_with_prefix, ensure_prefix options of token auth strategy | gitlab-org/gitlab!109063 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Add tmp indexes for CI partitioning - 3 | gitlab-org/gitlab!109084 | %15.9 | `@morefice` | | | :white_check_mark: | Add partitioning temp indexes to CI tables | gitlab-org/gitlab!109085 | %15.9 | `@mbobin` | | | :white_check_mark: | Add partitioning tmp indexes to ci_sources_pipelines table | gitlab-org/gitlab!109094 | %15.9 | `@mbobin` | | | :white_check_mark: | Add unique index to ci_builds | gitlab-org/gitlab!109116 | %15.9 | `@morefice` | | | :white_check_mark: | Add generator for partitioning FKs | gitlab-org/gitlab!109130 | %15.9 | `@mbobin` | | | :information_source: | Update table partitioning doc | gitlab-org/gitlab!109220 | %15.9 | `@morefice` | | | :white_check_mark: | Add FK to ci_running_builds | gitlab-org/gitlab!109308 | %15.9 | `@morefice` | | | :white_check_mark: | Add FK to ci_pending_builds | gitlab-org/gitlab!109311 | %15.9 | `@morefice` | | | :white_check_mark: | Update ci_builds_runner_session FK to include partition_id | gitlab-org/gitlab!109316 | %15.9 | `@mbobin` | | | :white_check_mark: | Update ci_resources FK to include partition_id | gitlab-org/gitlab!109337 | %15.9 | `@mbobin` | | | :white_check_mark: | Fix partition ids for ci_sources_pipelines records | gitlab-org/gitlab!109364 | %15.9 | `@mbobin` | | | :hourglass_flowing_sand: | Draft: Fix triggers during list partitioning | gitlab-org/gitlab!109419 | | `@stomlinson` | | | :white_check_mark: | Drop old FKs on ci_builds | gitlab-org/gitlab!109783 | %15.9 | `@morefice` | | | :white_check_mark: | Rebalance partition_id for ci_pipelines | gitlab-org/gitlab!109981 | %15.9 | `@morefice` | | | :white_check_mark: | Fix unique index on ci_build_pending_states | gitlab-org/gitlab!110172 | %15.9 | `@morefice` | | | :information_source: | Fix partition_id for ci_job_variables | gitlab-org/gitlab!110177 | %15.9 | `@morefice` | | | :information_source: | Add validation to Ci::CommitStatus#ci_stage | gitlab-org/gitlab!110346 | %Backlog | `@morefice` | | | :white_check_mark: | Add partitioned index and FK for ci_sources_pipelines and ci_builds | gitlab-org/gitlab!110367 | %15.9 | `@mbobin` | | | :white_check_mark: | Validate and replace FK for ci_sources_pipelines and ci_builds | gitlab-org/gitlab!110368 | %15.10 | `@mbobin` | | | :white_check_mark: | Refactor add_concurrent_partitioned_foreign_key migration helper | gitlab-org/gitlab!110388 | %15.10 | `@mbobin` | | | :white_check_mark: | Add partitioned index and FK for ci_build_trace_metadata and ci_builds | gitlab-org/gitlab!110392 | %15.9 | `@mbobin` | | | :white_check_mark: | Add partitioned index and FK for ci_job_artifacts and ci_builds | gitlab-org/gitlab!110395 | %15.9 | `@mbobin` | | | :white_check_mark: | Add partitioned index and FK for ci_job_variables and ci_builds | gitlab-org/gitlab!110397 | %15.9 | `@mbobin` | | | :white_check_mark: | Schedule partial index for ci_build_report_results | gitlab-org/gitlab!110489 | %15.9 | `@morefice` | | | :white_check_mark: | Drop invalid index from postgres_async_indexes | gitlab-org/gitlab!110494 | %15.9 | `@morefice` | | | :white_check_mark: | Refactor async index creation tasks | gitlab-org/gitlab!110530 | %15.9 | `@mbobin` | | | :information_source: | Add validate_partitioned_foreign_key helper | gitlab-org/gitlab!110752 | %15.9 | `@morefice` | | | :white_check_mark: | Schedule index for ci_build_needs | gitlab-org/gitlab!110780 | %15.9 | `@morefice` | | | :white_check_mark: | Validate and replace FK for ci_job_variables and ci_builds | gitlab-org/gitlab!111158 | %15.10 | `@mbobin` | | | :white_check_mark: | Validate and replace FK for ci_build_trace_metadata and ci_builds | gitlab-org/gitlab!111163 | %15.10 | `@mbobin` | | | :white_check_mark: | Validate and replace FK for ci_job_artifacts and ci_builds | gitlab-org/gitlab!111166 | %15.10 | `@mbobin` | | | :white_check_mark: | Fix partition ids for ci_job_variables records | gitlab-org/gitlab!111173 | %15.9 | `@mbobin` | | | :information_source: | CI Partitioning - Document long running migration | gitlab-org/gitlab!111178 | %15.9 | `@morefice` | | | :white_check_mark: | Rebalance partition_id for ci_builds | gitlab-org/gitlab!111287 | %15.9 | `@morefice` | | | :white_check_mark: | Add async foreign key validation model | gitlab-org/gitlab!111293 | %15.9 | `@mbobin` | | | :white_check_mark: | Extract indexing exclusive locking to be used by FKs too | gitlab-org/gitlab!111300 | %15.9 | `@mbobin` | | | :white_check_mark: | Add migration helpers for async FK validation | gitlab-org/gitlab!111314 | %15.9 | `@mbobin` | | | :white_check_mark: | Validate foreign keys asynchronously | gitlab-org/gitlab!111330 | %15.9 | `@mbobin` | | | :white_check_mark: | Schedule ci_builds FK indexes for async creation | gitlab-org/gitlab!111333 | %15.9 | `@mbobin` | | | :white_check_mark: | Fix partition_id for ci_pipeline_variables | gitlab-org/gitlab!111420 | %15.9 | `@morefice` | | | :white_check_mark: | Fix partition_id for ci_job_artifacts | gitlab-org/gitlab!111436 | %15.9 | `@morefice` | | | :white_check_mark: | Fix partition_id for ci_stage | gitlab-org/gitlab!111439 | %15.9 | `@morefice` | | | :information_source: | Fix partition_id for ci_build_needs | gitlab-org/gitlab!111440 | %15.9 | `@morefice` | | | :information_source: | Update iterations Gantt chart | gitlab-org/gitlab!111547 | %15.9 | `@mbobin` | | | :white_check_mark: | Fix partition_id for ci_build_report_results | gitlab-org/gitlab!111548 | %15.9 | `@morefice` | | | :white_check_mark: | Fix partition_id for ci_build_trace_metadata | gitlab-org/gitlab!111549 | %15.9 | `@morefice` | | | :white_check_mark: | Fix partition_id for p_ci_builds_metadata | gitlab-org/gitlab!111576 | %15.9 | `@morefice` | | | :white_check_mark: | Patch Rails 7 for CI partitioning | gitlab-org/gitlab!111673 | %16.2 | `@mbobin` | | | :white_check_mark: | Remove FF for token removal | gitlab-org/gitlab!111695 | %15.10 | `@mbobin` | It reduces the size of `ci_builds` by 175MB for each `1M` processed builds, or by about `175GB` per year. | | :information_source: | Draft: Fix build with nil stage_id | gitlab-org/gitlab!111912 | %Backlog | `@morefice` | | | :white_check_mark: | Execute FK async validations as part of DB reindexing | gitlab-org/gitlab!112015 | %15.9 | `@mbobin` | | | :information_source: | Add documentation for async FK validation | gitlab-org/gitlab!112034 | %15.9 | `@mbobin` | | | :white_check_mark: | Prepare async foreign key validation for ci_build_needs | gitlab-org/gitlab!112130 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Prepare async foreign key validation for ci_build_report_results | gitlab-org/gitlab!112131 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Prepare async foreign key validation for ci_job_artifacts | gitlab-org/gitlab!112132 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Prepare async foreign key validation for ci_build_trace_metadata | gitlab-org/gitlab!112133 | %15.10 | `@tianwenchen` | | | :information_source: | Test FK helper updates on build metadata | gitlab-org/gitlab!112205 | %15.9 | `@mbobin` | | | :white_check_mark: | Drop CI test partitions before attempting to create more | gitlab-org/gitlab!112293 | %15.10 | `@mbobin` | | | :white_check_mark: | Update FKs between p_ci_builds_metadata partitions and ci_builds | gitlab-org/gitlab!112316 | %15.10 | `@mbobin` | | | :white_check_mark: | Scope FK name uniqueness to the table name | gitlab-org/gitlab!112448 | %15.10 | `@mbobin` | | | :white_check_mark: | Add rake tasks for async FK validation | gitlab-org/gitlab!112455 | %15.10 | `@mbobin` | | | :white_check_mark: | Validate and replace FK for ci_build_report_results and ci_builds | gitlab-org/gitlab!112461 | %15.10 | `@mbobin` | | | :white_check_mark: | Validate and replace FK for ci_build_needs and ci_builds | gitlab-org/gitlab!112462 | %15.10 | `@mbobin` | | | :white_check_mark: | Find FK by name or identifier | gitlab-org/gitlab!112463 | %15.10 | `@morefice` | | | :white_check_mark: | Prepare async foreign key validation for ci_sources_pipelines | gitlab-org/gitlab!112508 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Prepare async foreign key validation for ci_job_variables | gitlab-org/gitlab!112511 | %15.10 | `@tianwenchen` | | | :information_source: | Schedule ci_job_artifacts index for removal | gitlab-org/gitlab!112530 | %15.10 | `@morefice` | Reduced `ci_job_artifacts` size by `79 GB` | | :white_check_mark: | Remove Rails 6 patches for partitioning | gitlab-org/gitlab!112573 | %15.10 | `@mbobin` | | | :white_check_mark: | Prepare async index removal of token for ci_builds | gitlab-org/gitlab!112642 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Concurrently remove index for index_ci_builds_on_token_encrypted | gitlab-org/gitlab!112644 | %15.10 | `@tianwenchen` | | | :white_check_mark: | Drop FK for ci_pending_builds | gitlab-org/gitlab!112668 | %15.10 | `@morefice` | | | :white_check_mark: | Drop FK for ci_running_builds | gitlab-org/gitlab!112669 | %15.10 | `@morefice` | | | :white_check_mark: | Schedule FK async validations for p_ci_builds_metadata partitions | gitlab-org/gitlab!112788 | %15.10 | `@mbobin` | | | :white_check_mark: | Prepare async FKs for check constraints | gitlab-org/gitlab!112838 | %15.10 | `@mbobin` | | | :white_check_mark: | Add types to async constraint validations | gitlab-org/gitlab!113101 | %15.10 | `@mbobin` | | | :white_check_mark: | Add migration helpers for async check constraints | gitlab-org/gitlab!113206 | %15.10 | `@mbobin` | | | :white_check_mark: | Add executors for async check constraints validations | gitlab-org/gitlab!113239 | %15.10 | `@mbobin` | | | :white_check_mark: | Refactor check constraints existence | gitlab-org/gitlab!113242 | %15.10 | `@mbobin` | | | :information_source: | Add docs for creating new partitioned tables | gitlab-org/gitlab!113247 | %15.10 | `@mbobin` | | | :white_check_mark: | Refactor CI partitioning strategy | gitlab-org/gitlab!113357 | %15.10 | `@mbobin` | | | :white_check_mark: | Swap async constraints validators | gitlab-org/gitlab!113503 | %15.10 | `@mbobin` | | | :white_check_mark: | Schedule temporary partitioning indexes removal | gitlab-org/gitlab!113507 | %15.10 | `@mbobin` | | | :information_source: | Remove temporary partitioning indexes | gitlab-org/gitlab!113513 | %15.10 | `@mbobin` | | | :white_check_mark: | Validate and replace FK for p_ci_builds_metadata and ci_builds | gitlab-org/gitlab!113655 | %15.10 | `@mbobin` | | | :white_check_mark: | Define ci_builds primary key as partitioned | gitlab-org/gitlab!113725 | %15.10 | `@mbobin` | | | :white_check_mark: | Clean up p_ci_builds_metadata schema | gitlab-org/gitlab!113955 | %15.10 | `@morefice` | | | :white_check_mark: | Prepare ci_builds for list partitioning | gitlab-org/gitlab!114077 | %15.11 | `@mbobin` | | | :white_check_mark: | Reduce the chances of deadlocks for builds migrations | gitlab-org/gitlab!114220 | %15.10 | `@mbobin` | | | :white_check_mark: | Fix rollback on async foreign key constraints | gitlab-org/gitlab!114224 | %15.10 | `@mbobin` | | | :white_check_mark: | Support async constraint validation for first list partition | gitlab-org/gitlab!114406 | %15.11 | `@tianwenchen` | | | :white_check_mark: | Use access exclusive lock for FKs on partitioned tables | gitlab-org/gitlab!114455 | %15.10 | `@mbobin` | | | :white_check_mark: | Rename ensure_prefix to require_prefix_for_validation | gitlab-org/gitlab!114537 | %15.10 | `@tianwenchen` | | | :information_source: | Test PK swap without dropping the index | gitlab-org/gitlab!114590 | %15.10 | `@mbobin` | | | :white_check_mark: | Add partitioned CI/CD tables to navigation | gitlab-org/gitlab-docs!3666 | %15.10 | `@mbobin` | | | :white_check_mark: | Prepare Ci::Build model for primary key swap | gitlab-org/gitlab!114709 | %15.10 | `@mbobin` | | | :information_source: | Use id as first column for partitioned tables | gitlab-org/gitlab!114870 | %15.10 | `@mbobin` | | | :white_check_mark: | Remove partition_id default from ci_builds | gitlab-org/gitlab!115348 | %15.11 | `@mbobin` | | | :white_check_mark: | Create routing table for ci_builds | gitlab-org/gitlab!115485 | %16.0 | `@mbobin` | | | :white_check_mark: | Support LFK triggers on partitioning helpers | gitlab-org/gitlab!115515 | %15.11 | `@mbobin` | | | :white_check_mark: | Implement runner backoff for migrations | gitlab-org/gitlab!115679 | %16.0 | `@mbobin` | | | :white_check_mark: | Validate ci_builds partitioning constraint | gitlab-org/gitlab!115840 | %15.11 | `@mbobin` | | | :white_check_mark: | Remove partition_id default from ci_builds | gitlab-org/gitlab!115874 | %15.11 | `@mbobin` | | | :white_check_mark: | Remove partition_id default for p_ci_builds_metadata | gitlab-org/gitlab!116761 | %15.11 | `@tianwenchen` | | | :white_check_mark: | Change schema_spec to support composite FKs | gitlab-org/gitlab!117499 | %16.0 | `@tianwenchen` | | | :information_source: | Add document for async partitioning constraint preparation | gitlab-org/gitlab!117857 | %16.0 | `@tianwenchen` | | | :white_check_mark: | Initialize the migration to convert pk to bigint for ci_pipelines | gitlab-org/gitlab!118136 | %16.0 | `@tianwenchen` | | | :white_check_mark: | Replace hardcoded table names for ci_builds | gitlab-org/gitlab!118225 | %16.0 | `@mbobin` | | | :white_check_mark: | Initialize the migration to convert pk for ci_pipeline_variables | gitlab-org/gitlab!118878 | %16.0 | `@tianwenchen` | | | :information_source: | Use database helpers to create partitioned tables | gitlab-org/gitlab!119338 | %16.0 | `@mbobin` | | | :white_check_mark: | Suggest partitioning new CI tables | gitlab-org/gitlab!119519 | %16.0 | `@mbobin` | | | :white_check_mark: | Lock tables before dropping the LFK trigger | gitlab-org/gitlab!120210 | %16.0 | `@mbobin` | | | :white_check_mark: | Change locking order for retrying jobs | gitlab-org/gitlab!120216 | %16.0 | `@mbobin` | | | :white_check_mark: | Fix partitioning flaky tests | gitlab-org/gitlab!120232 | %16.0 | `@mbobin` | | | :white_check_mark: | Do not generate DB docs file for p_ci_builds | gitlab-org/gitlab!120419 | %16.0 | `@mbobin` | | | :white_check_mark: | Swap primary key with bigint column for ci_pipeline_variables | gitlab-org/gitlab!120823 | %16.1 | `@tianwenchen` | | | :white_check_mark: | Create routing table for ci_builds | gitlab-org/gitlab!120873 | %16.1 | `@mbobin` | | | :white_check_mark: | Prepare the async index for ci_pipeline_variables | gitlab-org/gitlab!120946 | %16.0 | `@tianwenchen` | | | :white_check_mark: | Add concurrent index for ci_pipeline_variables | gitlab-org/gitlab!120950 | %16.1 | `@tianwenchen` | | | :white_check_mark: | Swap primary key with bigint column for ci_pipelines | gitlab-org/gitlab!121123 | %17.0 | `@tianwenchen` | | | :white_check_mark: | Fix background migration progress report on multi-db | gitlab-org/gitlab!121251 | %16.1 | `@mbobin` | | | :white_check_mark: | Log database name on async index operations | gitlab-org/gitlab!121405 | %16.1 | `@mbobin` | | | :white_check_mark: | Force partition attachment to happen during the weekend | gitlab-org/gitlab!121554 | %16.1 | `@mbobin` | | | :white_check_mark: | Replace foreign keys to use the partitioned table | gitlab-org/gitlab!121718 | %16.1 | `@mbobin` | | | :white_check_mark: | Validate foreign keys targeting p_ci_builds | gitlab-org/gitlab!122087 | %16.1 | `@mbobin` | | | :information_source: | Replace partitioned foreign keys to use p_ci_builds | gitlab-org/gitlab!122097 | %16.1 | `@mbobin` | | | :information_source: | Rename foreign keys that use p_ci_builds | gitlab-org/gitlab!122102 | %16.2 | `@mbobin` | | | :information_source: | Fix doc for swap_primary_key | gitlab-org/gitlab!122303 | %16.1 | `@morefice` | | | :information_source: | Drop foreign keys before attaching ci_builds | gitlab-org/gitlab!122566 | %16.1 | `@mbobin` | | | :white_check_mark: | Remove ci_builds partitioning helper code | gitlab-org/gitlab!122584 | %16.1 | `@mbobin` | | | :white_check_mark: | Remove explicit locking for retrying jobs | gitlab-org/gitlab!122737 | %16.1 | `@igor.drozdov` | | | :information_source: | Update partitioning docs for new tables to use p_ci_builds | gitlab-org/gitlab!122858 | %16.1 | `@mbobin` | | | :white_check_mark: | Switch table_name in CommitStatus to routing table | gitlab-org/gitlab!122919 | %16.3 | `@mbobin` | | | :white_check_mark: | Replace hardcoded table names for ci_builds | gitlab-org/gitlab!123118 | %16.1 | `@mbobin` | | | :information_source: | Execute partitioning tests | gitlab-org/gitlab!123124 | %16.1 | `@mbobin` | | | :information_source: | Draft: Start conversion of FK columns to ci_pipelines as bigint | gitlab-org/gitlab!123128 | | `@mbobin` | | | :white_check_mark: | Initialize the conversion for ci_pipeline_variables.pipeline_id | gitlab-org/gitlab!123132 | %16.2 | `@tianwenchen` | | | :white_check_mark: | Make migrations skipped in production a no-op | gitlab-org/gitlab!123212 | %16.1 | `@stomlinson` | | | :white_check_mark: | Point introduced_by_url to correct MR for `pi_ci_builds` | gitlab-org/gitlab!123324 | %16.1 | `@mallocke` | | | :information_source: | Make migrations skipped in production a no-op | gitlab-org/gitlab!123346 | %16.1 | `@mbobin` | | | :white_check_mark: | Add vacuum type to vaccum activity view | gitlab-org/gitlab!123353 | %16.1 | `@mbobin` | | | :white_check_mark: | Add API to mark migrations as successful | gitlab-org/gitlab!123408 | %16.1 | `@mbobin` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds | gitlab-org/gitlab!123799 | %16.2 | `@mbobin` | | | :white_check_mark: | Replace foreign keys to use the partitioned table - V3 | gitlab-org/gitlab!123805 | %16.2 | `@mbobin` | | | :white_check_mark: | Replace foreign keys to use the partitioned table - 4 | gitlab-org/gitlab!123811 | %16.2 | `@mbobin` | | | :white_check_mark: | Clean up bigint conversion for ci_pipeline_variables.id | gitlab-org/gitlab!124026 | %16.2 | `@tianwenchen` | | | :information_source: | Backfill builds uniqueness | gitlab-org/gitlab!124145 | | `@mbobin` | | | :white_check_mark: | Prepare the async index for ci_pipelines | gitlab-org/gitlab!124152 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds - self-managed | gitlab-org/gitlab!124154 | %16.2 | `@mbobin` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds - 2 | gitlab-org/gitlab!124186 | %16.2 | `@mbobin` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds - 2 self-managed | gitlab-org/gitlab!124303 | %16.2 | `@mbobin` | | | :white_check_mark: | Replace foreign keys to use the partitioned table - 4 self-managed | gitlab-org/gitlab!124306 | %16.2 | `@mbobin` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds - 3 | gitlab-org/gitlab!124310 | %16.2 | `@mbobin` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds - 3 self-managed | gitlab-org/gitlab!124311 | %16.3 | `@mbobin` | | | :white_check_mark: | Replace foreign keys to use the partitioned table - 5 | gitlab-org/gitlab!124726 | %16.2 | `@mbobin` | | | :white_check_mark: | Create FK between p_ci_builds_metadata and p_ci_builds | gitlab-org/gitlab!124865 | %16.2 | `@mbobin` | | | :white_check_mark: | Ensure id uniquness across p_ci_builds partitions | gitlab-org/gitlab!125002 | %16.3 | `@mbobin` | | | :white_check_mark: | Remove ignore_column for ci_pipeline_variables.id_convert_to_bigint | gitlab-org/gitlab!125187 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Prepare async index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!125188 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Revert "Merge branch '414396-partitioned-fks-v7' into 'master'" | gitlab-org/gitlab!125254 | %16.2 | `@mbobin` | | | :information_source: | Document skipping migrations API | gitlab-org/gitlab!125382 | %16.2 | `@mbobin` | | | :white_check_mark: | Remove gitlab_active_record vendor gem | gitlab-org/gitlab!125561 | %16.2 | `@morefice` | | | :white_check_mark: | Initialize the conversion for ci_pipeline_chat_data.pipeline_id | gitlab-org/gitlab!125965 | %16.2 | `@tianwenchen` | | | :white_check_mark: | Remove SafelyChangeColumnDefault to CI partitioned models | gitlab-org/gitlab!125993 | %16.2 | `@morefice` | | | :white_check_mark: | Drop devault value CI partition tables | gitlab-org/gitlab!126001 | %16.2 | `@morefice` | | | :white_check_mark: | Finalize conversion for FKs targeting p_ci_builds - 4 | gitlab-org/gitlab!126122 | %16.2 | `@mbobin` | | | :white_check_mark: | Initialize the conversion for ci_pipeline_messages.pipeline_id | gitlab-org/gitlab!126188 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Initialize the conversion for ci_pipelines.auto_canceled_by_id | gitlab-org/gitlab!126645 | %16.3 | `@tianwenchen` | | | :information_source: | Draft: Initialize the conversion for ci_sources_pipelines.pipeline_id | gitlab-org/gitlab!126648 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Initialize the conversion for ci_stages.pipeline_id | gitlab-org/gitlab!126650 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Initialize the conversion for ci_sources_pipelines | gitlab-org/gitlab!126671 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Finish CI FKs conversion and create new partitions | gitlab-org/gitlab!126701 | %16.2 | `@mbobin` | | | :white_check_mark: | Remove default partition value from CI tables | gitlab-org/gitlab!126726 | %16.3 | `@mbobin` | | | :white_check_mark: | Update LFK references for p_ci_builds | gitlab-org/gitlab!127091 | %16.3 | `@mbobin` | | | :white_check_mark: | Revert changes from 414396-complete-ci-builds-partitioning | gitlab-org/gitlab!127324 | %16.3 | `@mbobin` | | | :white_check_mark: | Add foreign key constraint to ci_pipeline_variables | gitlab-org/gitlab!127445 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Create sync index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!127449 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Prepare async index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!127471 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Remove partition_id defaults from testing | gitlab-org/gitlab!128614 | %16.3 | `@mbobin` | | | :white_check_mark: | Create concurrent index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!128710 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Create concurrent index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!128716 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Fix the typo in migration by no-oping migration & adding new one | gitlab-org/gitlab!128719 | %16.3 | `@tianwenchen` | | | :white_check_mark: | Enable CI partitioning tests | gitlab-org/gitlab!128848 | %16.4 | `@mbobin` | | | :white_check_mark: | Ensure id uniquness across p_ci_builds partitions - 2nd attempt | gitlab-org/gitlab!128858 | %16.3 | `@mbobin` | | | :white_check_mark: | Update partitionable switch tests | gitlab-org/gitlab!128992 | %16.3 | `@mbobin` | | | :white_check_mark: | Fix db docs for p_ci_builds | gitlab-org/gitlab!129009 | %16.3 | `@mbobin` | | | :white_check_mark: | Enable partitioned query analyzers for ci_builds | gitlab-org/gitlab!129088 | %16.6 | `@mbobin` | | | :white_check_mark: | Remove completed partition_id migrations | gitlab-org/gitlab!129118 | %Backlog | `@mbobin` | | | :white_check_mark: | Prepare async index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!129196 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Sync validate foreign key for pipeline_id_convert_to_bigint | gitlab-org/gitlab!129199 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Prepare async index for pipeline_id_convert_to_bigint | gitlab-org/gitlab!129201 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Initialize bigint conversion for p_ci_builds | gitlab-org/gitlab!129332 | %16.6 | `@tianwenchen` | | | :white_check_mark: | Ensure id uniquness across p_ci_builds partitions - self-managed | gitlab-org/gitlab!129464 | %16.3 | `@mbobin` | | | :information_source: | Reset query cache in case of statement invalid errors | gitlab-org/gitlab!129624 | %16.4 | `@mbobin` | | | :white_check_mark: | Use partitioned table on CommitStatus | gitlab-org/gitlab!129812 | %16.4 | `@mbobin` | | | :white_check_mark: | Use partition filter for queries on builds and metadata | gitlab-org/gitlab!130073 | %16.7 | `@mbobin` | | | :white_check_mark: | Add foreign key for ci_pipeline_chat_data.pipeline_id_convert_to_bigint | gitlab-org/gitlab!130893 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Add foreign key for ci_pipeline_messages.pipeline_id_convert_to_bigint | gitlab-org/gitlab!130899 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Add foreign key for ci_stages.pipeline_id_convert_to_bigint | gitlab-org/gitlab!130901 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Swap the columns for ci_pipeline_variables | gitlab-org/gitlab!130912 | %16.6 | `@tianwenchen` | | | :white_check_mark: | Sync create indexes for ci_stages pipeline_id conversion | gitlab-org/gitlab!130917 | %16.4 | `@tianwenchen` | | | :white_check_mark: | Manually analyze partitioned tables | gitlab-org/gitlab!131056 | %16.4 | `@mbobin` | | | :white_check_mark: | Sync create indexes for ci_pipelines pipeline_id conversion | gitlab-org/gitlab!131108 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Sync create indexes for ci_sources_pipelines pipeline_id conversion | gitlab-org/gitlab!131230 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Swap the columns for ci_pipeline_chat_data | gitlab-org/gitlab!131243 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Sync validate foreign key for ci_pipeline_messages | gitlab-org/gitlab!131251 | %16.4 | `@tianwenchen` | | | :information_source: | Draft: Initialize the conversion for p_ci_builds pipeline_id related | gitlab-org/gitlab!132368 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Add foreign key for ci_pipelines.auto_canceled_by_id_convert_to_bigint | gitlab-org/gitlab!132609 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Add foreign key for ci_sources_pipelines bigint conversion | gitlab-org/gitlab!132615 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Sync validate foreign key for ci_stages | gitlab-org/gitlab!132956 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Sync validate foreign key for ci_sources_pipelines | gitlab-org/gitlab!132957 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Sync validate foreign key for ci_pipelines | gitlab-org/gitlab!133162 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Swap the columns for ci_pipeline_messages | gitlab-org/gitlab!133191 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Swap the columns for ci_stages | gitlab-org/gitlab!133307 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Swap the columns for ci_sources_pipelines | gitlab-org/gitlab!133312 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Enable analyze for p_ci_builds_metadata | gitlab-org/gitlab!133318 | %16.5 | `@tianwenchen` | | | :white_check_mark: | Keep lock_version when updating partitioned records | gitlab-org/gitlab!133447 | %16.5 | `@mbobin` | | | :information_source: | Document stale schema on 16.2 upgrade | gitlab-org/gitlab!133700 | %16.5 | `@mbobin` | | | :white_check_mark: | Always set source_partition_id from app | gitlab-org/gitlab!133806 | %16.6 | `@mbobin` | | | :information_source: | Backport "Always set source_partition_id from app" to 16.4 | gitlab-org/gitlab!133807 | | `@mbobin` | | | :information_source: | Backport "Always set source_partition_id from app" to 16.3 | gitlab-org/gitlab!133808 | | `@mbobin` | | | :information_source: | Backport "Always set source_partition_id from app" to 16.2 | gitlab-org/gitlab!133809 | | `@mbobin` | | | :white_check_mark: | Add auto_canceled_by_partition_id to p_ci_builds | gitlab-org/gitlab!134386 | %16.6 | `@mbobin` | | | :white_check_mark: | Use partitioned table for CommitStatus | gitlab-org/gitlab!134489 | %16.6 | `@mbobin` | | | :white_check_mark: | Add auto_canceled_by_partition_id to p_ci_builds for self-managed | gitlab-org/gitlab!134732 | %16.6 | `@mbobin` | | | :white_check_mark: | Cascade auto_canceled_by_partition_id to canceled jobs | gitlab-org/gitlab!134966 | %16.6 | `@mbobin` | | | :white_check_mark: | Update builds-pipelines queries to use partition_id filter | gitlab-org/gitlab!136321 | %16.7 | `@mbobin` | | | :white_check_mark: | Define id trigger on p_ci_builds routing table | gitlab-org/gitlab!136445 | %16.7 | `@mbobin` | | | :white_check_mark: | Define id trigger on p_ci_builds routing table - self-managed | gitlab-org/gitlab!136452 | %16.7 | `@mbobin` | | | :white_check_mark: | Automatically create next partitions for CI tables | gitlab-org/gitlab!136466 | %16.7 | `@mbobin` | | | :white_check_mark: | Read from partitioned table for ci_builds | gitlab-org/ruby/gems/gitlab-exporter!196 | | `@mbobin` | | | :information_source: | Draft: Resolve "Ensure id uniqueness on `ci_pipeline_variables`" | gitlab-org/gitlab!136741 | %16.9 | `@panoskanell` | | | :information_source: | Complete partitioning steps | gitlab-org/gitlab!136847 | %16.8 | `@mbobin` | | | :white_check_mark: | Add partition_id to job_artifact_state | gitlab-org/gitlab!136849 | %16.7 | `@panoskanell` | | | :white_check_mark: | Clean up CI default values | gitlab-org/gitlab!137386 | %16.7 | `@morefice` | | | :white_check_mark: | Filter Ci::Build association by partition_id | gitlab-org/gitlab!137399 | %16.7 | `@morefice` | | | :white_check_mark: | Filter build association by partition_id | gitlab-org/gitlab!137553 | %16.7 | `@morefice` | | | :white_check_mark: | Remove default value for partition_id | gitlab-org/gitlab!137629 | %16.7 | `@panoskanell` | | | :information_source: | Enable PartitioningIdAnalyzer | gitlab-org/gitlab!137639 | %16.7 | `@morefice` | | | :white_check_mark: | Prepare constraints of ci_pipeline_variables for partitioning on Gitlab | gitlab-org/gitlab!137643 | %16.8 | `@panoskanell` | | | :white_check_mark: | Synchronous migration to include partition_id on ci_pipeline_variables | gitlab-org/gitlab!137777 | %16.7 | `@panoskanell` | | | :white_check_mark: | Filter build by partition_id | gitlab-org/gitlab!138027 | %16.7 | `@morefice` | | | :white_check_mark: | Prepare Ci::JobArtifact for partitioning 1/3 | gitlab-org/gitlab!138038 | %16.7 | `@morefice` | | | :white_check_mark: | Add async indexes for partitioned PK on ci_pipeline_variables | gitlab-org/gitlab!138040 | %16.7 | `@panoskanell` | | | :information_source: | Remove old indexes from ci_pipeline_variables | gitlab-org/gitlab!138329 | %16.7 | `@panoskanell` | | | :white_check_mark: | Add unique indexes to ci_job_artifacts | gitlab-org/gitlab!138620 | %16.7 | `@morefice` | | | :information_source: | Filter build associations by partition_id | gitlab-org/gitlab!138642 | %16.7 | `@morefice` | | | :white_check_mark: | Add UniquenessHelpers as database helper | gitlab-org/gitlab!138739 | %16.8 | `@morefice` | | | :white_check_mark: | Drop unique index on ci_job_artifacts | gitlab-org/gitlab!138745 | %16.7 | `@morefice` | | | :white_check_mark: | Add Async indexes for partitioned key on ci_stages | gitlab-org/gitlab!138755 | %16.7 | `@panoskanell` | | | :white_check_mark: | Schedule indexes for FK referencing ci_job_artifacts | gitlab-org/gitlab!138898 | %16.7 | `@morefice` | | | :white_check_mark: | Add synchronous indexes for partitioned key on ci_stages | gitlab-org/gitlab!139076 | %16.7 | `@panoskanell` | | | :white_check_mark: | Filter generic build by partition_id | gitlab-org/gitlab!139381 | %16.7 | `@morefice` | | | :white_check_mark: | Add partition_id to Ci::PipelineChatData | gitlab-org/gitlab!139515 | %16.8 | `@morefice` | | | :white_check_mark: | Swap primary key for ci_pipeline_variables | gitlab-org/gitlab!139528 | %16.7 | `@panoskanell` | | | :information_source: | Add composite PK to ci_job_artifacts | gitlab-org/gitlab!139760 | %16.8 | `@morefice` | | | :white_check_mark: | Skip Autovacuum check for ci_builds related BBMs | gitlab-org/gitlab!139976 | %16.8 | `@praba.m7n` | | | :white_check_mark: | Add indexes to ci_job_artifacts referenced FK | gitlab-org/gitlab!140045 | %16.8 | `@morefice` | | | :white_check_mark: | Redefine referenced FK ci_job_artifacts | gitlab-org/gitlab!140187 | %16.8 | `@morefice` | | | :white_check_mark: | Add wraparound vacuum checks for PDM | gitlab-org/release-tools!2829 | %16.8 | `@mbobin` | | | :white_check_mark: | Validate referenced FK constraints ci_job_artifacts | gitlab-org/gitlab!140960 | %16.8 | `@morefice` | | | :white_check_mark: | Finalize BackfillPartitionIdCiPipelineChatData | gitlab-org/gitlab!140969 | %16.8 | `@morefice` | | | :white_check_mark: | Remove default values ci_pipeline_chat_data#partition_id | gitlab-org/gitlab!141071 | %16.8 | `@morefice` | | | :white_check_mark: | Prepare constraint for partitioning ci_pipeline_variables | gitlab-org/gitlab!141072 | %16.9 | `@panoskanell` | | | :white_check_mark: | Add partition_id to Ci::PipelineMetadata | gitlab-org/gitlab!141078 | %16.8 | `@morefice` | | | :white_check_mark: | Disable broken migration referenced FK ci_job_artifacts | gitlab-org/gitlab!141114 | %16.8 | `@morefice` | | | :white_check_mark: | Redefine referenced FK ci_job_artifacts for self managed | gitlab-org/gitlab!141218 | %16.8 | `@morefice` | | | :white_check_mark: | Create Routing Table for ci_pipeline_variables | gitlab-org/gitlab!141270 | %16.9 | `@panoskanell` | | | :white_check_mark: | Add partition_id to Ci::PipelineArtifact | gitlab-org/gitlab!141345 | %16.8 | `@morefice` | | | :information_source: | Draft: Resolve "Update referenced FK to include partition_id for ci_stages" | gitlab-org/gitlab!141408 | %16.9 | `@panoskanell` | | | :white_check_mark: | Add partition_id to Ci::PipelineConfig | gitlab-org/gitlab!141461 | %16.8 | `@morefice` | | | :white_check_mark: | Cleanup unused indexes and referenced fks for ci_job_artifacts | gitlab-org/gitlab!141474 | %16.8 | `@morefice` | | | :white_check_mark: | Escape backslashes for PromQL requests | gitlab-org/release-tools!2846 | %16.9 | `@mbobin` | | | :information_source: | Add docs for autovacuum wraparound protection | gitlab-org/gitlab!141983 | %16.9 | `@mbobin` | | | :white_check_mark: | Remove default values for partition_id | gitlab-org/gitlab!142394 | %16.9 | `@morefice` | | | :white_check_mark: | Cleanup unused index and fk for ci_build_trace_metadata | gitlab-org/gitlab!142400 | %16.9 | `@morefice` | | | :white_check_mark: | Finalize BackfillPartitionId | gitlab-org/gitlab!142422 | %16.9 | `@morefice` | | | :white_check_mark: | Ensure uniqueness ci_pipeline_variables | gitlab-org/gitlab!142526 | %16.9 | `@morefice` | | | :white_check_mark: | Simplify Ci::Partitionable::Switch concern | gitlab-org/gitlab!142558 | %16.9 | `@mbobin` | | | :white_check_mark: | Add composite PK to ci_job_artifacts | gitlab-org/gitlab!142644 | %16.9 | `@morefice` | | | :white_check_mark: | Prepare partitioning constraint for ci_job_artifacts | gitlab-org/gitlab!142648 | %16.9 | `@morefice` | | | :white_check_mark: | Update p_ci_builds partitions FKs to ci_stages to include partition_id | gitlab-org/gitlab!142804 | %16.9 | `@panoskanell` | | | :information_source: | Improve documentation swap PK partitioning | gitlab-org/gitlab!142811 | %16.9 | `@morefice` | | | :white_check_mark: | Fix invalid records with CI FKs not valid | gitlab-org/gitlab!142896 | %16.9 | `@morefice` | | | :information_source: | Backport !142896 into 16.8 stable branch | gitlab-org/gitlab!142921 | %16.8 | `@morefice` | | | :white_check_mark: | Backport !142896 into 16.8 stable branch | gitlab-org/gitlab!142926 | %16.9 | `@morefice` | | | :white_check_mark: | Prepare partitioning constraint for ci_job_artifacts | gitlab-org/gitlab!143028 | %16.9 | `@morefice` | | | :white_check_mark: | Create routing table for ci_job_artifacts | gitlab-org/gitlab!143039 | %16.10 | `@morefice` | | | :white_check_mark: | Analyze p_ci_pipeline_variables | gitlab-org/gitlab!143041 | %16.9 | `@morefice` | | | :white_check_mark: | Clean up SafelyChangeColumnDefault for CI models | gitlab-org/gitlab!143058 | %16.10 | `@imskr` | | | :white_check_mark: | Analyze parent table after partitioning | gitlab-org/gitlab!143192 | %16.9 | `@morefice` | | | :white_check_mark: | Add FF to read from p_ci_pipeline_variables | gitlab-org/gitlab!143334 | %16.9 | `@morefice` | | | :white_check_mark: | Accept multiple values for list partitioning | gitlab-org/gitlab!143349 | %16.9 | `@mbobin` | | | :white_check_mark: | Update database file pipeline variables | gitlab-org/gitlab!143528 | %16.9 | `@morefice` | | | :white_check_mark: | Filter ci_pipeline_variables by partition_id | gitlab-org/gitlab!143795 | %16.9 | `@morefice` | | | :white_check_mark: | Add FK from p_ci_builds to ci_stages & sync validations | gitlab-org/gitlab!143811 | %16.9 | `@panoskanell` | | | :white_check_mark: | Remove FF ci_partitioning_use_ci_pipeline_variables_routing_table | gitlab-org/gitlab!143905 | %16.9 | `@morefice` | | | :white_check_mark: | Remove partition filter feature flag | gitlab-org/gitlab!143916 | %16.9 | `@mbobin` | | | :white_check_mark: | Remove unused ci_stages FK | gitlab-org/gitlab!144021 | %16.9 | `@morefice` | | | :white_check_mark: | Add composite PK to ci_stages | gitlab-org/gitlab!144025 | %16.9 | `@morefice` | | | :white_check_mark: | Prepare partitioning constraint for ci_stages | gitlab-org/gitlab!144167 | %16.9 | `@morefice` | | | :information_source: | Add 16-9 zero downtime notes | gitlab-org/gitlab!144432 | %16.10 | `@morefice` | | | :information_source: | Add partition filters for Pipeline source relationships | gitlab-org/gitlab!144506 | %17.3 | `@drew` | | | :white_check_mark: | Removing SafelyChangeColumnDefault for job artifact state | gitlab-org/gitlab!144539 | %16.10 | `@mfanGitLab` | | | :white_check_mark: | Adding partition_id to registerJobService | gitlab-org/gitlab!144543 | %16.10 | `@mfanGitLab` | | | :white_check_mark: | Replace FKs for p_ci_job_artifacts | gitlab-org/gitlab!144569 | %16.10 | `@morefice` | | | :white_check_mark: | Ensure uniqueness p_ci_job_artifacts | gitlab-org/gitlab!144574 | %16.10 | `@morefice` | | | :information_source: | Update CI data decay timeline | gitlab-org/gitlab!144635 | %16.10 | `@mbobin` | | | :white_check_mark: | Add FF to read from p_ci_job_artifacts | gitlab-org/gitlab!144709 | %16.10 | `@morefice` | | | :white_check_mark: | Revert remove FF ci_partitioning_use_ci_pipeline_variables_routing_table | gitlab-org/gitlab!144711 | %16.10 | `@morefice` | | | :white_check_mark: | Introduce back ci_pipeline_variables routing table FF | gitlab-org/gitlab!144952 | %16.9 | `@morefice` | | | :white_check_mark: | Prepare partitioning constraint for ci_stages | gitlab-org/gitlab!145109 | %16.10 | `@morefice` | | | :white_check_mark: | Validate FKs p_ci_job_artifacts self managed | gitlab-org/gitlab!145111 | %16.10 | `@morefice` | | | :white_check_mark: | Add references FKs to p_ci_job_artifacts | gitlab-org/gitlab!145216 | %16.10 | `@morefice` | | | :white_check_mark: | Create routing table for ci_stages | gitlab-org/gitlab!145217 | %16.10 | `@morefice` | | | :white_check_mark: | Remove FF reading p_ci_pipeline_variables | gitlab-org/gitlab!145374 | %16.10 | `@morefice` | | | :white_check_mark: | Improve UniquenessHelpers#ensure_unique_id | gitlab-org/gitlab!145388 | %16.10 | `@morefice` | | | :white_check_mark: | Update queries to include partition_id filter for ci_job_artifacts | gitlab-org/gitlab!145522 | %16.10 | `@panoskanell` | | | :white_check_mark: | Analyze partitioned tables without verbose | gitlab-org/gitlab!145660 | %16.10 | `@mbobin` | | | :white_check_mark: | Improve UniquenessHelpers#ensure_unique_id | gitlab-org/gitlab!145773 | %16.9 | `@morefice` | | | :white_check_mark: | Ensure uniqueness p_ci_stages | gitlab-org/gitlab!145778 | %16.10 | `@morefice` | | | :information_source: | Ensure that all sequences are owned by the correct tables | gitlab-org/gitlab!145814 | %16.10 | `@mbobin` | | | :white_check_mark: | Cleanup FF use_partition_id_for_register_job_service | gitlab-org/gitlab!145861 | %16.10 | `@mfanGitLab` | | | :white_check_mark: | Replace FKs for p_ci_stages | gitlab-org/gitlab!145899 | %16.10 | `@morefice` | | | :white_check_mark: | Add FF to read from p_ci_stages | gitlab-org/gitlab!145902 | %16.10 | `@morefice` | | | :white_check_mark: | Remove memoization for existing_sequence | gitlab-org/gitlab!146027 | %16.10 | `@morefice` | | | :white_check_mark: | Filter Ci::Build#without_archived_trace by partition_id | gitlab-org/gitlab!146053 | %16.10 | `@morefice` | | | :white_check_mark: | Filter build artifacts by partition_id | gitlab-org/gitlab!146164 | %16.10 | `@morefice` | | | :white_check_mark: | Update artifact_state to include partition_id filter for job_artifacts | gitlab-org/gitlab!146305 | %16.11 | `@panoskanell` | | | :white_check_mark: | Validate FKs p_ci_stages self managed | gitlab-org/gitlab!146459 | %16.10 | `@morefice` | | | :white_check_mark: | Update wide table list | gitlab-org/gitlab!146596 | %16.10 | `@mbobin` | | | :white_check_mark: | Clean up tmp FKs p_ci_stages | gitlab-org/gitlab!146598 | %16.10 | `@morefice` | | | :white_check_mark: | Filter trace chunks by partition_id | gitlab-org/gitlab!146621 | %16.10 | `@morefice` | | | :white_check_mark: | Mark migrations FK p_ci_stages as no-op | gitlab-org/gitlab!146890 | %16.10 | `@morefice` | | | :white_check_mark: | Adding partitions for ci_stage associations | gitlab-org/gitlab!146962 | %16.11 | `@mfanGitLab` | | | :white_check_mark: | Revert MR !145522 | gitlab-org/gitlab!147061 | %16.10 | `@panoskanell` | | | :white_check_mark: | Update queries to use partition_id filter | gitlab-org/gitlab!147126 | %16.11 | `@panoskanell` | | | :white_check_mark: | Use routing tables for ci_job_artifacts and ci_stages | gitlab-org/gitlab!147438 | %16.11 | `@mbobin` | | | :white_check_mark: | Enable partitioned query analyzers for partitioned tables | gitlab-org/gitlab!147443 | %16.11 | `@mbobin` | | | :white_check_mark: | Keep scope conditions for associations | gitlab-org/gitlab!147550 | %16.11 | `@mbobin` | | | :white_check_mark: | Use partitioned foreign key between ci_builds and ci_stages | gitlab-org/gitlab!147648 | %16.11 | `@mbobin` | | | :white_check_mark: | Prepare async index for ci_pipelines.partition_id related | gitlab-org/gitlab!147860 | %17.1 | `@tianwenchen` | | | :white_check_mark: | Skip migration when the partitioned FK exists | gitlab-org/gitlab!147878 | %16.11 | `@mbobin` | | | :white_check_mark: | Delete feature flag use_partition_id_filter_on_ci_job_artifacts | gitlab-org/gitlab!148029 | %16.11 | `@panoskanell` | | | :information_source: | Blueprint draft for archiving pipeline data | gitlab-org/gitlab!148253 | | `@mbobin` | | | :white_check_mark: | Partition initializers for job_artifacts and ci_stages | gitlab-org/gitlab!148391 | %16.11 | `@mbobin` | | | :information_source: | Filter cross project dependencies by partition_id | gitlab-org/gitlab!148647 | %16.11 | `@morefice` | | | :white_check_mark: | Populate Ci::Partition first records | gitlab-org/gitlab!148944 | %17.0 | `@morefice` | | | :information_source: | Draft: Add CI partitioning creation automation | gitlab-org/gitlab!149103 | %17.0 | `@morefice` | | | :white_check_mark: | Remove PartitionCreationWorker | gitlab-org/gitlab!149115 | %17.0 | `@morefice` | | | :white_check_mark: | Adding ability to cleanup by partitions | gitlab-org/gitlab!149464 | %17.0 | `@mfanGitLab` | | | :information_source: | Update Ci data decay blueprint | gitlab-org/gitlab!150093 | %17.0 | `@morefice` | | | :white_check_mark: | Add query_constraints to missing CI models | gitlab-org/gitlab!150136 | %17.0 | `@morefice` | | | :white_check_mark: | Add status to Ci::Partition | gitlab-org/gitlab!150443 | %17.0 | `@morefice` | | | :white_check_mark: | Document .com partition creation | gitlab-org/gitlab!150468 | %17.0 | `@mbobin` | | | :white_check_mark: | Improve add_column documentation | gitlab-org/gitlab!150666 | %17.0 | `@morefice` | | | :white_check_mark: | Remove use_partition_id_filter? | gitlab-org/gitlab!151321 | %17.0 | `@morefice` | | | :information_source: | Transition ci_partitions#status | gitlab-org/gitlab!151334 | %17.0 | `@morefice` | | | :white_check_mark: | Add Ci::Partitions::SetupDefaultService | gitlab-org/gitlab!151740 | %17.1 | `@morefice` | | | :white_check_mark: | Refactor Ci::Partition metadata access | gitlab-org/gitlab!151871 | %17.1 | `@morefice` | | | :white_check_mark: | Add Ci::Partitions::CreateService | gitlab-org/gitlab!152047 | %17.0 | `@morefice` | | | :white_check_mark: | Drop duplicate index on ci_pipelines_config | gitlab-org/gitlab!152333 | %17.1 | `@morefice` | | | :white_check_mark: | Remove ci_create_partitions_102 feature flag | gitlab-org/gitlab!152336 | %17.0 | `@mbobin` | | | :white_check_mark: | Drop duplicate index on p_ci_runner_machine_builds | gitlab-org/gitlab!152337 | %17.0 | `@morefice` | | | :white_check_mark: | Remove autovacuum skip for ci_builds related BBMs | gitlab-org/gitlab!152614 | %17.1 | `@mbobin` | | | :white_check_mark: | Log connection name when creating partitions | gitlab-org/gitlab!152768 | %17.1 | `@mbobin` | | | :information_source: | Draft: Sync index creation and prepare fk for ci_pipelines.partition_id | gitlab-org/gitlab!152896 | %17.2 | `@tianwenchen` | | | :white_check_mark: | Add Ci::Partitions::SyncService | gitlab-org/gitlab!152903 | %17.1 | `@morefice` | | | :white_check_mark: | Change column default when the connections match | gitlab-org/gitlab!152933 | %17.1 | `@mbobin` | | | :white_check_mark: | Wrap up CI partition management | gitlab-org/gitlab!153230 | %17.1 | `@morefice` | | | :white_check_mark: | Add partition_id to Ci::DailyBuildGroupReportResult | gitlab-org/gitlab!153236 | %17.1 | `@morefice` | | | :white_check_mark: | Add partition_id to Ci::PipelineMessage | gitlab-org/gitlab!153391 | %17.1 | `@morefice` | | | :white_check_mark: | Sync unique index creation for ci_pipelines.partition_id | gitlab-org/gitlab!153552 | %17.1 | `@tianwenchen` | | | :white_check_mark: | Add partition_id to Ci::Sources::Project | gitlab-org/gitlab!153798 | %17.1 | `@tianwenchen` | | | :information_source: | Draft: Schedule indexes for Ci backfill partition_id | gitlab-org/gitlab!153809 | %17.1 | `@morefice` | | | :white_check_mark: | Finalize BackfillPartitionIdCiDailyBuildGroupReportResult | gitlab-org/gitlab!154530 | %17.1 | `@morefice` | | | :white_check_mark: | Remove default values ci_daily_build_group_report_results#partition_id | gitlab-org/gitlab!155046 | %17.1 | `@morefice` | | | :white_check_mark: | Finalize BackfillPartitionIdCiPipelineMessage | gitlab-org/gitlab!155219 | %17.2 | `@morefice` | | | :white_check_mark: | Remove default values ci_pipeline_messages#partition_id | gitlab-org/gitlab!155397 | %17.2 | `@morefice` | | | :white_check_mark: | Add partition_id to pipeline creation metrics | gitlab-org/gitlab!155714 | %17.1 | `@mbobin` | | | :white_check_mark: | Drop duplicate index on p_ci_stages | gitlab-org/gitlab!155958 | %17.2 | `@morefice` | | | :information_source: | Draft: Change the columns order in the partitioning FK index | gitlab-org/gitlab!156022 | | `@mbobin` | | | :information_source: | Analyze partitioned tables with lock retries | gitlab-org/gitlab!156157 | %17.3 | `@mbobin` | | | :white_check_mark: | Prepare ci_pipelines.autocancel_by_id for composite primary key | gitlab-org/gitlab!157619 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FK from p_ci_pipeline_variables to ci_pipelines | gitlab-org/gitlab!157747 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FK from p_ci_builds to ci_pipelines | gitlab-org/gitlab!157750 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FK from p_ci_stages to ci_pipelines | gitlab-org/gitlab!157753 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FK from p_ci_builds_execution_configs to ci_pipelines | gitlab-org/gitlab!157908 | %17.2 | `@mbobin` | | | :white_check_mark: | Remove default values ci_sources_projects#partition_id | gitlab-org/gitlab!157909 | %17.2 | `@tianwenchen` | | | :white_check_mark: | Add partitioned FK from ci_pipeline_chat_data to ci_pipelines | gitlab-org/gitlab!157938 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FK from ci_sources_pipelines to ci_pipelines | gitlab-org/gitlab!157947 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FKs from ci_pipeline_* tables to ci_pipelines | gitlab-org/gitlab!158065 | %17.2 | `@mbobin` | | | :white_check_mark: | Add partitioned FK from ci_pipeline_artifacts to ci_pipelines | gitlab-org/gitlab!158086 | %17.2 | `@mbobin` | | | :white_check_mark: | Remove invalid foreign key fk_87f4cefcda_p | gitlab-org/gitlab!158585 | %17.2 | `@mbobin` | | | :white_check_mark: | Add p_ci_builds upstream_pipeline_partition_id | gitlab-org/gitlab!158622 | %17.3 | `@mbobin` | | | :white_check_mark: | Remove SafelyChangeColumnDefault module | gitlab-org/gitlab!159363 | %17.3 | `@tianwenchen` | | | :white_check_mark: | Replace FK from ci_sources_pipelines to ci_pipelines | gitlab-org/gitlab!159555 | %17.3 | `@mbobin` | | | :white_check_mark: | Replace FKs from ci_pipeline_* tables to ci_pipelines | gitlab-org/gitlab!159571 | %17.3 | `@mbobin` | | | :white_check_mark: | Requeue partitioning backfill for build group reports | gitlab-org/gitlab!159702 | %17.3 | `@mbobin` | | | :white_check_mark: | Replace FKs for p_ci_stages and p_ci_pipeline_variables | gitlab-org/gitlab!159725 | %17.3 | `@mbobin` | | | :white_check_mark: | Replace FK from p_ci_builds to ci_pipelines | gitlab-org/gitlab!159727 | %17.3 | `@mbobin` | | | :white_check_mark: | Validate FK for ci_daily_build_group_report_results.last_pipeline_id | gitlab-org/gitlab!160672 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Validate FK for p_ci_builds.upstream_pipeline_id | gitlab-org/gitlab!160710 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Validate FK for ci_pipelines.auto_canceled_by_id | gitlab-org/gitlab!161287 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Update in_partition to accept partition_foreign_key kwarg | gitlab-org/gitlab!161582 | %17.3 | `@tianwenchen` | | | :white_check_mark: | Async FK for p_ci_builds.upstream_pipeline_id | gitlab-org/gitlab!161868 | %17.3 | `@tianwenchen` | | | :white_check_mark: | Async FK for ci_pipelines.auto_canceled_by_id | gitlab-org/gitlab!161872 | %17.3 | `@tianwenchen` | | | :white_check_mark: | Remove the unused FKs referencing ci_pipelines | gitlab-org/gitlab!162529 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Swap primary key for ci_pipelines to include partition_id | gitlab-org/gitlab!162531 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Schedule async constraint for ci_pipelines | gitlab-org/gitlab!162668 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Create partitioned table p_ci_pipelines and attach first partition | gitlab-org/gitlab!163575 | %Backlog | `@tianwenchen` | | | :white_check_mark: | Remove ci_partitioning_first_records feature flag | gitlab-org/gitlab!163896 | %17.4 | `@mbobin` | | | :white_check_mark: | Prepare the foreign keys for p_ci_pipelines | gitlab-org/gitlab!164141 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Validate and replace the fk referencing p_ci_pipelines | gitlab-org/gitlab!164294 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Ensure ID uniqueness for p_ci_pipelines | gitlab-org/gitlab!164707 | %17.6 | `@tianwenchen` | | | :white_check_mark: | Rubocop allow validate_foreign_key in with_lock_retries | gitlab-org/gitlab!164708 | %17.4 | `@tianwenchen` | | | :white_check_mark: | Partition ci_build_trace_metadata table - 3 | gitlab-org/gitlab!165316 | %17.5 | `@mbobin` | | | :white_check_mark: | Remove test tables for partitioning | gitlab-org/gitlab!166576 | %17.5 | `@mbobin` | | | :white_check_mark: | Delete orphaned stages | gitlab-org/gitlab!168750 | %17.6 | `@mbobin` | | | :white_check_mark: | Prepare async fk validation for p_ci_builds.upstream_pipeline_id | gitlab-org/gitlab!169229 | %17.6 | `@tianwenchen` | | | :white_check_mark: | Use pipelines routing table | gitlab-org/gitlab!169438 | %17.6 | `@mbobin` | | | :white_check_mark: | Delete orphaned pipeline variables | gitlab-org/gitlab!169441 | %17.6 | `@mbobin` | | | :white_check_mark: | Enqueue migration to fix canceling attributes for CI jobs | gitlab-org/gitlab!170253 | %17.6 | `@mbobin` | | | :white_check_mark: | Sync FK for p_ci_builds.upstream_pipeline_id | gitlab-org/gitlab!171800 | %17.6 | `@tianwenchen` | | | :white_check_mark: | Use p_ci_pipelines by default | gitlab-org/gitlab!171834 | %17.6 | `@mbobin` | | | :white_check_mark: | Remove current partition feature flags | gitlab-org/gitlab!172397 | %17.6 | `@mbobin` | | | :white_check_mark: | Drop broken FK for p_ci_builds.upstream_pipeline_id | gitlab-org/gitlab!172604 | %17.7 | `@tianwenchen` | | | :white_check_mark: | Finalize DeleteOrphanedBuildRecords migration | gitlab-org/gitlab!172836 | %17.7 | `@mbobin` | | | :white_check_mark: | Create foreign key for build execution configs | gitlab-org/gitlab!172851 | %17.7 | `@mbobin` | | | :white_check_mark: | Add async validation for p_ci_builds - p_ci_pipelines FK | gitlab-org/gitlab!173144 | %17.7 | `@mbobin` | | | :white_check_mark: | Add foreign key between builds and pipelines | gitlab-org/gitlab!173678 | %17.7 | `@mbobin` | | | :white_check_mark: | Remove broken FK between builds and pipelines | gitlab-org/gitlab!174115 | %17.10 | `@mbobin` | | | :white_check_mark: | Remove broken FK between pipelines and build exec configs | gitlab-org/gitlab!174125 | %17.7 | `@mbobin` | | | :white_check_mark: | Async validate new ci_pipelines FKs | gitlab-org/gitlab!174126 | %17.7 | `@mbobin` | | | :white_check_mark: | No-op async FK validations on p_ci_pipelines | gitlab-org/gitlab!174509 | %17.7 | `@mbobin` | | | :white_check_mark: | Add new FK for build execution configs | gitlab-org/gitlab!174671 | %17.7 | `@mbobin` | | | :white_check_mark: | Add new FK for builds execution configs | gitlab-org/gitlab!175108 | %17.7 | `@mbobin` | | | :white_check_mark: | Schedule async FK validation for p_ci_stages partitions | gitlab-org/gitlab!175373 | %17.7 | `@mbobin` | | | :white_check_mark: | Allow active partitions to be used for writes | gitlab-org/gitlab!176123 | %17.8 | `@mbobin` | | | :white_check_mark: | Sync FK `fk_rails_494e57ee78_p` | gitlab-org/gitlab!177980 | %17.10 | `@tianwenchen` | | | :white_check_mark: | Sync FK `fk_rails_507416c33a_p` | gitlab-org/gitlab!178117 | %17.10 | `@tianwenchen` | | | :white_check_mark: | Finalize DeleteOrphanedStageRecords | gitlab-org/gitlab!178120 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Remove broken foreign key fk_a2141b1522_p | gitlab-org/gitlab!183638 | %17.10 | `@tianwenchen` | | | :white_check_mark: | Remove broken foreign key fk_f29c5f4380_p | gitlab-org/gitlab!183987 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Remove broken foreign key fk_rails_e214655a86_p | gitlab-org/gitlab!184022 | %17.11 | `@mvaishnao` | | | :white_check_mark: | Attempt 2 to remove fk_a2141b1522_p | gitlab-org/gitlab!184285 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Sync fk for p_ci_stages.pipeline_id | gitlab-org/gitlab!185011 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Remove broken fk fk_fb57e6cc56_p | gitlab-org/gitlab!185024 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Split partitioning feature flag | gitlab-org/gitlab!185964 | %17.11 | `@mbobin` | | | :white_check_mark: | Use lower partitioning threshold on staging | gitlab-org/gitlab!186418 | %17.11 | `@mbobin` | | | :white_check_mark: | Attempt 2 to remove the broken fk_fb57e6cc56_p | gitlab-org/gitlab!186507 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Attempt 3 to remove the broken fk_fb57e6cc56_p | gitlab-org/gitlab!187090 | %17.11 | `@tianwenchen` | | | :white_check_mark: | Remove redundant index from job artifacts | gitlab-org/gitlab!187564 | %18.0 | `@mbobin` | | | :white_check_mark: | Remove redundant partition index from job artifacts | gitlab-org/gitlab!187858 | %18.0 | `@mbobin` | | | :information_source: | Update partitioning docs | gitlab-org/gitlab!188242 | %18.0 | `@mbobin` | | | :white_check_mark: | Add application settings to manage CI/CD partitions | gitlab-org/gitlab!189131 | %18.0 | `@mbobin` | | | :white_check_mark: | Update CI partitioning threshold to 1TB | gitlab-org/gitlab!190547 | %18.0 | `@mbobin` | | | :white_check_mark: | Move ci_builds table into the dynamic schema | gitlab-org/gitlab!191002 | %18.1 | `@mbobin` | | | :white_check_mark: | Move ci_stages into the dynamic schema | gitlab-org/gitlab!191031 | %18.1 | `@mbobin` | | | :white_check_mark: | Move ci_builds_metadata into the dynamic schema | gitlab-org/gitlab!191033 | %18.1 | `@mbobin` | | | :white_check_mark: | Move ci_job_artifacts into the dynamic schema | gitlab-org/gitlab!191330 | %18.1 | `@mbobin` | | | :white_check_mark: | Move ci_pipelines into the dynamic schema | gitlab-org/gitlab!191333 | %18.1 | `@mbobin` | | | :white_check_mark: | Recover when a partition is missing from the current state | gitlab-org/gitlab!193727 | %18.1 | `@mbobin` | | | :white_check_mark: | Remove CI partitioning feature flags | gitlab-org/gitlab!198468 | %18.3 | `@mbobin` | | | :information_source: | Reduce timeout for async indexes | gitlab-org/gitlab!203202 | %18.4 | `@morefice` | | | :white_check_mark: | Adjust partitioning threshold to 500GB after stopping writing to ci_builds_metadata | gitlab-org/gitlab!211114 | %18.6 | `@mvaishnao` | | | :arrows_counterclockwise: | Add FKs for `ci_partitions` and routing tables | gitlab-org/gitlab#372996 | %Backlog | | | | :arrows_counterclockwise: | New ids for partitioned CI resources | gitlab-org/gitlab#377678 | %Backlog | | | | :arrows_counterclockwise: | CI partition rebalancing | gitlab-org/gitlab#387779 | %Backlog | | | | :arrows_counterclockwise: | Investigate if single column FK indexes are still needed after partitioning ci_builds | gitlab-org/gitlab#388798 | %Backlog | | | | :arrows_counterclockwise: | Update queries to include partition_id filter for ci_pipelines | gitlab-org/gitlab#430297 | %Next 1-3 releases | | | | :arrows_counterclockwise: | Update queries to include partition_id filter for source_pipeline | gitlab-org/gitlab#435643 | %Backlog | | | | :arrows_counterclockwise: | Explore partitionin pruning for cross project dependencies | gitlab-org/gitlab#437855 | %Backlog | | | | :arrows_counterclockwise: | Updating partitioning value deletes data from dependent tables | gitlab-org/gitlab#438394 | %Backlog | | | | :arrows_counterclockwise: | Remove redundant LFK CI partitioned tables | gitlab-org/gitlab#443789 | %Next 4-6 releases | | | | :arrows_counterclockwise: | Explore how to partition new tables when dynamic partitions are automatically created | gitlab-org/gitlab#465859 | %Backlog | | | | :arrows_counterclockwise: | Add partition_id to job token | gitlab-org/gitlab#562950 | %Next 4-6 releases | | | | :arrows_counterclockwise: | Step 2: Create required indexes for ci_build_needs partitioning | gitlab-org/gitlab#583631 | | | | | :arrows_counterclockwise: | Step 3: Enforce unique constraint for ci_build_needs partitioning | gitlab-org/gitlab#583632 | | | | | :arrows_counterclockwise: | Step 4: Enforce foreign key constraint for ci_build_needs partitioning | gitlab-org/gitlab#583633 | | | | | :arrows_counterclockwise: | Step 5: Swap primary key for ci_build_needs partitioning | gitlab-org/gitlab#583634 | | | | | :arrows_counterclockwise: | Step 6: Create parent table and attach existing table as initial partition | gitlab-org/gitlab#583639 | | | | | :arrows_counterclockwise: | Step 7: Re-point foreign keys to parent table | gitlab-org/gitlab#583640 | | | | | :arrows_counterclockwise: | Step 9: Analyze partitioned table and create new partitions | gitlab-org/gitlab#583642 | | | | | :arrows_counterclockwise: | Step 10: Update application to use partitioned table | gitlab-org/gitlab#583643 | | | | <small> Use ~"CI data partitioning" on MRs and issues add them to this list.<br> Generated at <code>2026-01-23 07:54:27 UTC</code> by https://gitlab.com/mbobin/headway/-/jobs/12833220451. </small> <!-- GENERATED BY HEADWAY PROGRESS REPORT DO NOT EDIT -->
epic