Skip to content

Move vulnerability statistics update out of transaction

What does this MR do?

Addresses https://gitlab.com/gitlab-org/gitlab/-/issues/338085

When creating a vulnerability from Vulnerabilities::CreateService, Statistics::UpdateService and HistoricalStatistics::UpdateService in wrapped in the same transaction which creates the vulnerability. But since the transaction could fail only for ActiveRecord::RecordNotFound and it is independent of the vulnerability statistics update, it could be moved out of the transaction to reduce the time spent by the sub-transaction to create the vulnerability.

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Merge request reports