diff --git a/ee/app/services/search/zoekt/indexing_task_service.rb b/ee/app/services/search/zoekt/indexing_task_service.rb index a8796b1b0a30342f12c5747314a64a62178933c4..44d37bea26e1bbd668bac2c4867bb7445165e38a 100644 --- a/ee/app/services/search/zoekt/indexing_task_service.rb +++ b/ee/app/services/search/zoekt/indexing_task_service.rb @@ -87,14 +87,10 @@ def preflight_check? def random_force_reindexing? return true if task_type == :force_index_repo - eligible_for_force_reindexing? && (rand * 100 <= REINDEXING_CHANCE_PERCENTAGE) + task_type == :index_repo && (rand * 100 <= REINDEXING_CHANCE_PERCENTAGE) end strong_memoize_attr :random_force_reindexing? - def eligible_for_force_reindexing? - task_type == :index_repo && Feature.enabled?(:zoekt_random_force_reindexing, project, type: :ops) - end - def index_circuit_broken?(idx) # Note: we skip indexing tasks depending on storage watermark levels. # diff --git a/ee/config/feature_flags/ops/zoekt_random_force_reindexing.yml b/ee/config/feature_flags/ops/zoekt_random_force_reindexing.yml deleted file mode 100644 index eef8478c593d6db83da26288c680ff282abae703..0000000000000000000000000000000000000000 --- a/ee/config/feature_flags/ops/zoekt_random_force_reindexing.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: zoekt_random_force_reindexing -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140136 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435766 -milestone: '16.8' -type: ops -group: group::global search -default_enabled: true diff --git a/ee/spec/services/search/zoekt/indexing_task_service_spec.rb b/ee/spec/services/search/zoekt/indexing_task_service_spec.rb index 9ea7192e9a191ea14d99c6fc97908c6b9cd546a1..a17c0a6e8b4780912acfaee3175db4c627cea9b9 100644 --- a/ee/spec/services/search/zoekt/indexing_task_service_spec.rb +++ b/ee/spec/services/search/zoekt/indexing_task_service_spec.rb @@ -46,7 +46,6 @@ context 'on low watermark' do before do - stub_feature_flags(zoekt_random_force_reindexing: false) allow(zoekt_index).to receive(:low_watermark_exceeded?).and_return(true) end @@ -171,72 +170,8 @@ let(:task_type) { 'index_repo' } let(:service) { described_class.new(project.id, task_type) } - context 'when zoekt_random_force_reindexing is disabled' do + context 'when REINDEXING_CHANCE_PERCENTAGE is set to 100%' do before do - stub_feature_flags(zoekt_random_force_reindexing: false) - end - - context 'for preflight_check? is false' do - context 'if project does not have a repository' do - let_it_be(:project) { create(:project, :empty_repo, namespace: ns) } - - it 'does not creates Search::Zoekt::Task record' do - expect { service.execute }.not_to change { Search::Zoekt::Task.count } - end - end - - context 'if project does not exists' do - it 'does not creates Search::Zoekt::Task record' do - project.destroy! - service = described_class.new(project.id, task_type) - expect { service.execute }.not_to change { Search::Zoekt::Task.count } - end - end - end - - context 'when Repository does not exists' do - it 'creates a Repository record and a Task record' do - expect { service.execute }.to change { Search::Zoekt::Task.count }.by(1) - .and change { Search::Zoekt::Repository.count }.by(1) - repo = Search::Zoekt::Repository.find_by(project: project, zoekt_index: zoekt_index) - expect(repo).to be_present - new_task = repo.tasks.last - expect(new_task.zoekt_node_id).to eq zoekt_index.zoekt_node_id - expect(new_task).to be_pending - expect(new_task.task_type).to eq task_type - end - end - - context 'when Repository already exists' do - let_it_be(:zoekt_repo) { create(:zoekt_repository, project: project, zoekt_index: zoekt_index) } - - it 'creates only a Task record' do - expect { service.execute }.to change { Search::Zoekt::Task.count }.by(1) - .and change { Search::Zoekt::Repository.count }.by(0) - new_task = zoekt_repo.tasks.last - expect(new_task.zoekt_node_id).to eq zoekt_index.zoekt_node_id - expect(new_task).to be_pending - expect(new_task.task_type).to eq task_type - end - end - - context 'when delay is passed' do - let(:delay) { 1.hour } - let(:service) { described_class.new(project.id, task_type, delay: delay) } - - it 'sets perform_at with delay' do - freeze_time do - service.execute - new_task = Search::Zoekt::Task.last - expect(new_task.perform_at).to eq delay.from_now - end - end - end - end - - context 'when zoekt_random_force_reindexing is enabled' do - before do - stub_feature_flags(zoekt_random_force_reindexing: true) stub_const("#{described_class}::REINDEXING_CHANCE_PERCENTAGE", 100) end