Remove project destroy transaction behind flag
What does this MR do?
This removes the transaction from the project destroy service so that when this is run asynchronously for projects with lots of related items and the job attempts a retry the job can start from where it left of rather than attempting to retry the same work and hitting a timeout a second time.
This is related to https://gitlab.com/gitlab-org/gitlab/-/issues/24644 but does not solve all of the problems related to that issue.
This work is behind a feature flag so that we can make sure this behaves well on staging and production before enabling everywhere.
What will be included in separate MR's:
- Using
FastDetroyAll
for more records - Removing artifacts out of band
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
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