Fix memory leak in CI config includes entry
What does this MR do and why?
This merge request attempts to fix a memory / objects leak related to using includes:
keyword in CI configuration. The leak has been introduced in 30791a36 a couple of years ago.
Investigation MR with profiler / benchmarks and some insights: !122437 (closed)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Merge request reports
Activity
assigned to @grzesiek
mentioned in merge request !122437 (closed)
cc @furkanayhan
- A deleted user
added backend label
2 Warnings This merge request changed CI config files but did not update the schema. Please consider updating the schema to reflect these changes: spec/lib/gitlab/ci/config/entry/includes_spec.rb
-
lib/gitlab/ci/config/entry/includes.rb
.
Refer to the docs for help on how to run and write specs for the CI schema.
There were no new or modified feature flag YAML files detected in this MR. If the changes here are already controlled under an existing feature flag, please add
the feature flagexists. Otherwise, if you think the changes here don't need
to be under a feature flag, please add the label feature flagskipped, and
add a short comment about why we skipped the feature flag.For guidance on when to use a feature flag, please see the documentation.
Reviewer roulette
Changes that require review have been detected!
Please refer to the table below for assigning reviewers and maintainers suggested by Danger in the specified category:
Category Reviewer Maintainer backend Jonas Larsen (
@j_lar
) (UTC+2, same timezone as@grzesiek
)Kassio Borges (
@kassio
) (UTC+1, 1 hour behind@grzesiek
)~"Verify" Reviewer review is optional for ~"Verify" Drew Cimino (
@drew
) (UTC+0, 2 hours behind@grzesiek
)To spread load more evenly across eligible reviewers, Danger has picked a candidate for each review slot, based on their timezone. Feel free to override these selections if you think someone else would be better-suited or use the GitLab Review Workload Dashboard to find other available reviewers.
To read more on how to use the reviewer roulette, please take a look at the Engineering workflow and code review guidelines. Please consider assigning a reviewer or maintainer who is a domain expert in the area of the merge request.
Once you've decided who will review this merge request, assign them as a reviewer! Danger does not automatically notify them for you.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
Danger- Resolved by Grzegorz Bizon
@grzesiek - please see the following guidance and update this merge request.1 Error Please add typebug typefeature, or typemaintenance label to this merge request.
- Resolved by Peter Leitzen
added grouppipeline authoring typebug labels
added devopsverify sectionops labels
mentioned in issue #413143 (closed)
changed milestone to %16.1
added bugperformance label
- Resolved by Peter Leitzen
@furkanayhan can you please review this code? I still plan to do some more testing, maybe adding an additional test case, but it think it would be great if you could review it before this one is finished. Thanks in advance!
requested review from @furkanayhan
Allure report
allure-report-publisher
generated test report!e2e-test-on-gdk:
test report for 78206416expand test summary
+-----------------------------------------------------------------------+ | suites summary | +------------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +------------------+--------+--------+---------+-------+-------+--------+ | Plan | 4 | 0 | 0 | 0 | 4 | ✅ | | Framework sanity | 0 | 0 | 1 | 0 | 1 | ➖ | | Create | 8 | 0 | 1 | 0 | 9 | ✅ | | Monitor | 4 | 0 | 0 | 0 | 4 | ✅ | | Manage | 1 | 0 | 0 | 0 | 1 | ✅ | | Govern | 2 | 0 | 0 | 0 | 2 | ✅ | | Data Stores | 2 | 0 | 0 | 1 | 2 | ❗ | +------------------+--------+--------+---------+-------+-------+--------+ | Total | 21 | 0 | 2 | 1 | 23 | ❗ | +------------------+--------+--------+---------+-------+-------+--------+
- Resolved by Peter Leitzen
Things left to be done here:
- Some manual testing / specs for using
includes
short version (single include) and multiple ones. - Feature Flag !122462 (comment 1416446701)
- Changelog commit trailer.
We should be able to test this on GitLab.com at the beginning of the next week. /cc @joshlambert @sgoldstein
- Some manual testing / specs for using
mentioned in merge request !122294 (closed)
- Resolved by Peter Leitzen
added 1 commit
- 8700fef0 - Add unit test for ::Gitlab::Ci::Config::Entry::Includes#initialize
removed review request for @furkanayhan
Setting label(s) Category:Pipeline Composition based on grouppipeline authoring.
added Category:Pipeline Composition label
added 353 commits
-
8700fef0...ba3fd7d6 - 352 commits from branch
master
- 78206416 - Fix memory leak in CI config includes entry
-
8700fef0...ba3fd7d6 - 352 commits from branch
mentioned in merge request !122539 (merged)
mentioned in merge request !122540 (merged)
mentioned in merge request !122541 (merged)
requested review from @furkanayhan
marked the checklist item I have evaluated the MR acceptance checklist for this MR. as completed
requested review from @splattael
- Resolved by Peter Leitzen
Great fix, thank you @grzesiek
Looks good to me
@splattael
, thanks for approving this merge request.This is the first time the merge request is approved. To ensure full test coverage, a new pipeline will be started shortly.
For more info, please refer to the following links:
added pipeline:mr-approved label
requested review from @ayufan
removed review request for @ayufan
mentioned in commit 4f3225e5
added workflowstaging-canary label
added workflowcanary label and removed workflowstaging-canary label
added workflowstaging label and removed workflowcanary label
mentioned in merge request !122631 (closed)
added workflowproduction label and removed workflowstaging label
added workflowpost-deploy-db-staging label and removed workflowproduction label
added workflowpost-deploy-db-production label and removed workflowpost-deploy-db-staging label
mentioned in issue #415051
mentioned in issue #413029
added releasedcandidate label
added sectionci label and removed sectionops label
mentioned in merge request kubitus-project/kubitus-installer!2224 (merged)
added releasedpublished label and removed releasedcandidate label
mentioned in merge request !147532 (closed)