Resolve Vulnerabilities::ManuallyCreateService cross transaction issues
What does this MR do and why?
As part of the sec-decomposition it's necessary to split interactions with gitlab_main tables from gitlab_sec which previously occurred within the same transaction.
This modification minimally modifies the behaviour of the service, but does move the gitlab_main interactions to their own transaction at the end of the execution. This does technically mean if there is a failure between these transactions that we can have a data consistency problem. This is not likely, but we are also looking into ways to mitigate these risks through data consistency checks.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #476175 (closed)