Skip to content
代码片段 群组 项目
未验证 提交 2e9dd22f 编辑于 作者: Fabien Catteau's avatar Fabien Catteau 提交者: GitLab
浏览文件

Change CreateMergeRequestService rollback for sec

Change the rollback mechansim of
SecurityFinding::CreateMergeRequestService
to support a separate sec database.

EE: true
Changelog: changed
上级 3d86f2c1
No related branches found
No related tags found
无相关合并请求
......@@ -8,24 +8,17 @@ def execute
@error_message = nil
merge_request = nil
Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.temporary_ignore_tables_in_transaction(
%w[
internal_ids
merge_requests
merge_request_user_mentions
vulnerability_merge_request_links
], url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/480003'
) do
merge_request = ApplicationRecord.transaction do
vulnerability = find_or_create_vulnerability
create_merge_request(vulnerability).tap do |merge_request|
create_vulnerability_merge_request_link(merge_request, vulnerability)
end
end
end
vulnerability = find_or_create_vulnerability
merge_request = create_merge_request(vulnerability)
create_vulnerability_merge_request_link(merge_request, vulnerability)
success_response(merge_request)
rescue ActiveRecord::Rollback
vulnerability.destroy if vulnerability.present?
merge_request.destroy if merge_request.present?
merge_request.present? ? success_response(merge_request) : error_response(@error_message)
error_response(@error_message)
end
private
......
......@@ -150,7 +150,7 @@
project.vulnerabilities.count
}.by(0)
.and(change(Vulnerabilities::MergeRequestLink, :count).by(0))
.and(change(Vulnerabilities::MergeRequestLink, :count).by(0))
.and(change(MergeRequest, :count).by(0))
end
end
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册