Skip to content

Allow cross-db transaction for Build#drop_with_exit_code!

What does this MR do and why?

Related to #348495 (closed)

When dropping a build with drop_with_exit_code!, it wraps the execution with a transaction.

If this build;

  • Configured as auto-retry
  • Has a pipeline related to an MR
  • Has a TODO with that MR

Then Ci::RetryBuildService;

  • Retries the job
  • Closes the TODO

And those two updates should not be in a single transaction because they refer to different DBs.

The next step is to remove this cross-db transaction.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Furkan Ayhan

Merge request reports