summaryrefslogtreecommitdiff
path: root/app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb')
-rw-r--r--app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb b/app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb
index 2b4253947ac..b2174be1402 100644
--- a/app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb
+++ b/app/workers/database/ci_namespace_mirrors_consistency_check_worker.rb
@@ -13,7 +13,7 @@ module Database
version 1
def perform
- return if Feature.disabled?(:ci_namespace_mirrors_consistency_check, default_enabled: :yaml)
+ return if Feature.disabled?(:ci_namespace_mirrors_consistency_check)
results = ConsistencyCheckService.new(
source_model: Namespace,
@@ -22,6 +22,16 @@ module Database
target_columns: %w[namespace_id traversal_ids]
).execute
+ if results[:mismatches_details].any?
+ ConsistencyFixService.new(
+ source_model: Namespace,
+ target_model: Ci::NamespaceMirror,
+ sync_event_class: Namespaces::SyncEvent,
+ source_sort_key: :id,
+ target_sort_key: :namespace_id
+ ).execute(ids: results[:mismatches_details].map { |h| h[:id] })
+ end
+
log_extra_metadata_on_done(:results, results)
end
end