diff --git a/config/feature_flags/development/delayed_repository_update_mirror_worker.yml b/config/feature_flags/development/delayed_repository_update_mirror_worker.yml new file mode 100644 index 0000000000000000000000000000000000000000..0de84c81e1d9565c0438ad4160bd88c2a14a5746 --- /dev/null +++ b/config/feature_flags/development/delayed_repository_update_mirror_worker.yml @@ -0,0 +1,8 @@ +--- +name: delayed_repository_update_mirror_worker +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87995 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/362894 +milestone: '15.1' +type: development +group: group::source code +default_enabled: false diff --git a/ee/app/workers/repository_update_mirror_worker.rb b/ee/app/workers/repository_update_mirror_worker.rb index 8a749dad660abdc508a2b82348ea4f660b5c4329..a75a91d444a657b28b62ee0eb6ccf275f8f90604 100644 --- a/ee/app/workers/repository_update_mirror_worker.rb +++ b/ee/app/workers/repository_update_mirror_worker.rb @@ -6,7 +6,7 @@ class RepositoryUpdateMirrorWorker include ApplicationWorker idempotent! - data_consistency :always + data_consistency :sticky, feature_flag: :delayed_repository_update_mirror_worker include ProjectStartImport feature_category :source_code_management diff --git a/ee/spec/workers/repository_update_mirror_worker_spec.rb b/ee/spec/workers/repository_update_mirror_worker_spec.rb index dddc09ad7e6fb84c9bf5277ef2a941d35d77c98c..2b2a17d8c355843e9a70bacd26f170da88944f75 100644 --- a/ee/spec/workers/repository_update_mirror_worker_spec.rb +++ b/ee/spec/workers/repository_update_mirror_worker_spec.rb @@ -14,6 +14,11 @@ allow(worker).to receive(:jid).and_return(jid) end + it_behaves_like 'worker with data consistency', + described_class, + feature_flag: :delayed_repository_update_mirror_worker, + data_consistency: :sticky + it 'sets status as finished when update mirror service executes successfully' do expect_next_instance_of(Projects::UpdateMirrorService) do |instance| expect(instance).to receive(:execute).and_return(status: :success)