Skip to content

Remove pipeline_name_search feature flag

Reuben Pereira requested to merge rp/remove-pipeline-name-search-ff into master

What does this MR do and why?

Feature flag pipeline_name_search has been enabled on gitlab.com for many months now (enabled in June). This MR removes the feature flag.

Feature flag rollout issue: #385864 (closed)

Performance of the query behind the FF: https://console.postgres.ai/gitlab/gitlab-production-ci/sessions/24980/commands/79384

Query
SELECT
    "ci_pipelines"."id",
    "ci_pipelines"."ref",
    "ci_pipelines"."sha",
    "ci_pipelines"."before_sha",
    "ci_pipelines"."created_at",
    "ci_pipelines"."updated_at",
    "ci_pipelines"."tag",
    "ci_pipelines"."yaml_errors",
    "ci_pipelines"."committed_at",
    "ci_pipelines"."project_id",
    "ci_pipelines"."status",
    "ci_pipelines"."started_at",
    "ci_pipelines"."finished_at",
    "ci_pipelines"."duration",
    "ci_pipelines"."user_id",
    "ci_pipelines"."lock_version",
    "ci_pipelines"."pipeline_schedule_id",
    "ci_pipelines"."source",
    "ci_pipelines"."config_source",
    "ci_pipelines"."protected",
    "ci_pipelines"."failure_reason",
    "ci_pipelines"."iid",
    "ci_pipelines"."merge_request_id",
    "ci_pipelines"."source_sha",
    "ci_pipelines"."target_sha",
    "ci_pipelines"."external_pull_request_id",
    "ci_pipelines"."ci_ref_id",
    "ci_pipelines"."locked",
    "ci_pipelines"."partition_id",
    "ci_pipelines"."auto_canceled_by_id"
FROM
    "ci_pipelines"
    INNER JOIN "ci_pipeline_metadata" ON "ci_pipeline_metadata"."pipeline_id" = "ci_pipelines"."id"
WHERE
    "ci_pipelines"."project_id" = 278964
    AND "ci_pipelines"."source" != 12
    AND "ci_pipeline_metadata"."name" = 'Ruby 3.0 merged_result MR pipeline (community contribution)'
ORDER BY
    "ci_pipelines"."id" DESC
LIMIT 20 OFFSET 0
Query performance
 Limit  (cost=1.13..15724.35 rows=7 width=361) (actual time=0.287..0.588 rows=20 loops=1)
 Buffers: shared hit=104 read=4
 I/O Timings: read=0.110 write=0.000
 ->  Nested Loop  (cost=1.13..15724.35 rows=7 width=361) (actual time=0.286..0.584 rows=20 loops=1)
       Buffers: shared hit=104 read=4
       I/O Timings: read=0.110 write=0.000
       ->  Index Only Scan Backward using index_pipeline_metadata_on_name_pipeline_id_text_pattern on public.ci_pipeline_metadata  (cost=0.56..140.88 rows=4333 width=8) (actual time=0.171..0.174 rows=20 loops=1)
             Index Cond: (ci_pipeline_metadata.name = 'Ruby 3.0 merged_result MR pipeline (community contribution)'::text)
             Heap Fetches: 0
             Buffers: shared hit=1 read=4
             I/O Timings: read=0.110 write=0.000
       ->  Index Scan using index_ci_pipelines_on_project_id_and_id_desc on public.ci_pipelines  (cost=0.57..3.60 rows=1 width=361) (actual time=0.020..0.020 rows=1 loops=20)
             Index Cond: ((ci_pipelines.project_id = 278964) AND (ci_pipelines.id = ci_pipeline_metadata.pipeline_id))
             Filter: (ci_pipelines.source <> 12)
             Rows Removed by Filter: 0
             Buffers: shared hit=103
             I/O Timings: read=0.000 write=0.000
Time: 11.237 ms
  - planning: 10.518 ms
  - execution: 0.719 ms
  - I/O read: 0.110 ms
  - I/O write: 0.000 ms

Shared buffers:
  - hits: 104 (~832.00 KiB) from the buffer pool
  - reads: 4 (~32.00 KiB) from the OS file cache, including disk I/O
  - dirtied: 0
  - writes: 0

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Reuben Pereira

Merge request reports