Track execution of project overwrite service
What does this MR do?
This merge request adds tracking of Projects::OverwriteProjectService
that is used by import/export feature.
This services creates a possibly long-running transaction creating multiple subtransaction through Project.transaction(requires_new: true)
.
It is possible that this might affect performance in multiple places, especially performance of the new CI/CD builds queuing queries.
For more details see gitlab-com/gl-infra/production#5152 (comment 629653355) and https://gitlab.com/gitlab-org/gitlab/-/issues/334638.
Conformity
-
I have self-reviewed this MR per code review guidelines. -
This change is backwards compatible across updates.
Merge request reports
Activity
added Engineering Allocation ciscaling devopsverify grouppipeline execution + 1 deleted label
changed milestone to %14.2
assigned to @grzesiek
- A deleted user
added backend feature flag labels
2 Warnings Please add a merge request type to this merge request. You've made some app changes, but didn't add any tests.
That's OK as long as you're refactoring existing code,
but please consider adding any of the tooling, ~"tooling::pipelines", ~"tooling::workflow", documentation, QA labels.1 Message CHANGELOG missing: If you want to create a changelog entry for GitLab FOSS, add the
Changelog
trailer to the commit message you want to add to the changelog.If you want to create a changelog entry for GitLab EE, also add the
EE: true
trailer to your commit message.If this merge request doesn't need a CHANGELOG entry, feel free to ignore this message.
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 Pavel Shutsin ( @pshutsin
) (UTC+2, same timezone as@grzesiek
)James Fargher ( @proglottis
) (UTC+12, 10 hours ahead of@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
Dangeradded 1 commit
- bb5f2e88 - Track execution of project overwrite service
mentioned in issue gitlab-com/gl-infra/production#5152 (closed)
added 1 commit
- 2407ed8f - Track execution of project overwrite service
added 1 commit
- 9e78442b - Track execution of project overwrite service
- Resolved by Stan Hu
@stanhu do you think it makes sense to add this tracking?
Projects::OverwriteProjectService
creates a long transactions with multipleSAVEPOINTs
. This can causeSubtransControlLocks
blocking queuing queries. This is my first hypothesis, another one beingsafe_find_or_create_by
doing the same, but the sudden nature of queuing queries performance degradation makes me think that it is more likely to be related to import/export feature impactingprojects
table that we extensively use in queuing queries.I might be mistaken here, perhaps we should instrument both, but checking if this correlates with queuing queries performance degradations can be actually a good step forward.
What do you think?
Edited by Grzegorz Bizon
requested review from @stanhu
- Resolved by Stan Hu
removed review request for @stanhu
added sectionops label
added 1 commit
- 31b3668e - Track execution of project overwrite service
added 1 commit
- 08b6b76e - Track execution of project overwrite service
added 1 commit
- 192be535 - Track execution of project overwrite service
added 1 commit
- 453528dd - Track execution of project overwrite service
requested review from @stanhu
mentioned in commit d0727132
added workflowstaging label
added workflowcanary label and removed workflowstaging label
added workflowproduction label and removed workflowcanary label
added releasedcandidate label
mentioned in issue #337843 (closed)
added releasedpublished label and removed releasedcandidate label
added Category:Integration Testing label and removed 1 deleted label
mentioned in merge request !133487 (merged)
mentioned in issue #350889 (closed)