Batched, rate limited merge trains MVC
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Release notes
Problem to solve
Today, merge trains start a pipeline for every merge request added to the train. This can be very expensive for projects with slow pipelines.
Proposal
A better tradeoff for projects with slow pipelines might be to only start a merge train pipeline every N minutes, where N is configurable.
- The diff-base for the pipeline (used to determine which jobs to run etc) would be the previous train car's pipeline SHA.
- If the pipeline succeeds, we attempt a merge once the car becomes the first car (as we do currently)
- If the train car fails, we need a good rescheduling strategy, because the MR that failed might not have been the cause. This is complicated because the train should merge MRs faster than they are added to the train. Probably needs research and experimentation. There may also not be a one-size fits all solution.
Intended users
Feature Usage Metrics
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.