diff options
Diffstat (limited to 'app/services/deployments')
-rw-r--r-- | app/services/deployments/older_deployments_drop_service.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/app/services/deployments/older_deployments_drop_service.rb b/app/services/deployments/older_deployments_drop_service.rb index 122f8ac89ed..e765d2484ea 100644 --- a/app/services/deployments/older_deployments_drop_service.rb +++ b/app/services/deployments/older_deployments_drop_service.rb @@ -12,7 +12,9 @@ module Deployments return unless @deployment&.running? older_deployments.find_each do |older_deployment| - older_deployment.deployable&.drop!(:forward_deployment_failure) + Gitlab::OptimisticLocking.retry_lock(older_deployment.deployable) do |deployable| + deployable.drop(:forward_deployment_failure) + end rescue => e Gitlab::ErrorTracking.track_exception(e, subject_id: @deployment.id, deployment_id: older_deployment.id) end |