diff --git a/app/services/projects/overwrite_project_service.rb b/app/services/projects/overwrite_project_service.rb index 2612001eb958c8ed367df29ba2d8584271b005ab..c58fba33b2a5c34248b32464b238c216118eab14 100644 --- a/app/services/projects/overwrite_project_service.rb +++ b/app/services/projects/overwrite_project_service.rb @@ -11,7 +11,9 @@ def execute(source_project) move_before_destroy_relationships(source_project) # Reset is required in order to get the proper # uncached fork network method calls value. - destroy_old_project(source_project.reset) + ::Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.allow_cross_database_modification_within_transaction(url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/340256') do + destroy_old_project(source_project.reset) + end rename_project(source_project.name, source_project.path) @project diff --git a/spec/support/database/cross-database-modification-allowlist.yml b/spec/support/database/cross-database-modification-allowlist.yml index 51804862a436da690d232af7adf08cf5baab2a7b..91a4bff22c532d930ea6241dc4862f6a70d270c3 100644 --- a/spec/support/database/cross-database-modification-allowlist.yml +++ b/spec/support/database/cross-database-modification-allowlist.yml @@ -8,4 +8,3 @@ - "./spec/models/clusters/applications/runner_spec.rb" - "./spec/requests/api/commits_spec.rb" - "./spec/services/ci/retry_build_service_spec.rb" -- "./spec/services/projects/overwrite_project_service_spec.rb"