Skip to content

Properly expire cache for **all** MRs of a pipeline

Toon Claes requested to merge tc-realtime-every-pipeline-on-mr into master

What does this MR do?

It ensures the Etag cache gets expired for all MRs for which the pipeline runs/ran against, and not just the MRs for which the pipeline runs/ran on the latest commit.

To ensure the state transitions of the pipelines are not slowed down, the ExpirePipelineCacheService is transformed into a worker.

Are there points in the code the reviewer needs to double check?

The performance of the query in Ci::Pipeline#all_merge_requests.

What are the relevant issue numbers?

Closes #31040 (closed).

EE port gitlab-org/gitlab-ee!1680

cc @godfat @ayufan

Merge request reports