From 0c10078b2c27d4cf9a3bf697019865a376cb4037 Mon Sep 17 00:00:00 2001
From: rkumar555 <rkumar@gitlab.com>
Date: Tue, 20 Jun 2023 23:00:35 +0200
Subject: [PATCH] Remove the code related to FF
 simplify_logic_to_find_search_proxy_class

Since the FF simplify_logic_to_find_search_proxy_class has been rolled
out completely and is stable so we can remove the code related to this
feature_flag. ProjectWikiProxy will be replaced by WikiProxy.

Changelog: other
MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124236
EE: true
---
 .rubocop_todo/layout/argument_alignment.yml   |  1 -
 .../rspec/missing_feature_category.yml        |  2 -
 .rubocop_todo/search/namespaced_class.yml     |  4 --
 ...plify_logic_to_find_search_proxy_class.yml |  8 ----
 .../latest/project_wiki_class_proxy.rb        | 19 ---------
 .../latest/project_wiki_instance_proxy.rb     | 29 --------------
 ee/lib/elastic/multi_version_util.rb          |  4 +-
 .../elastic/v12p1/project_wiki_class_proxy.rb | 10 -----
 .../v12p1/project_wiki_instance_proxy.rb      | 10 -----
 .../latest/project_wiki_class_proxy_spec.rb   | 40 -------------------
 .../project_wiki_instance_proxy_spec.rb       | 36 -----------------
 .../elastic/multi_version_class_proxy_spec.rb | 12 ------
 spec/support/rspec_order_todo.yml             |  2 -
 13 files changed, 1 insertion(+), 176 deletions(-)
 delete mode 100644 ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml
 delete mode 100644 ee/lib/elastic/latest/project_wiki_class_proxy.rb
 delete mode 100644 ee/lib/elastic/latest/project_wiki_instance_proxy.rb
 delete mode 100644 ee/lib/elastic/v12p1/project_wiki_class_proxy.rb
 delete mode 100644 ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb
 delete mode 100644 ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb
 delete mode 100644 ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb

diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml
index 8c8fcb52e22f1..a8035ac1af5da 100644
--- a/.rubocop_todo/layout/argument_alignment.yml
+++ b/.rubocop_todo/layout/argument_alignment.yml
@@ -1120,7 +1120,6 @@ Layout/ArgumentAlignment:
     - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb'
     - 'ee/spec/lib/ee/gitlab/usage/service_ping_report_spec.rb'
     - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb'
-    - 'ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb'
     - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb'
     - 'ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb'
     - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/stage_time_summary_spec.rb'
diff --git a/.rubocop_todo/rspec/missing_feature_category.yml b/.rubocop_todo/rspec/missing_feature_category.yml
index 4d635a3071c7d..e3829a97b0200 100644
--- a/.rubocop_todo/rspec/missing_feature_category.yml
+++ b/.rubocop_todo/rspec/missing_feature_category.yml
@@ -723,8 +723,6 @@ RSpec/MissingFeatureCategory:
     - 'ee/spec/lib/elastic/latest/issue_config_spec.rb'
     - 'ee/spec/lib/elastic/latest/merge_request_config_spec.rb'
     - 'ee/spec/lib/elastic/latest/note_config_spec.rb'
-    - 'ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb'
-    - 'ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb'
     - 'ee/spec/lib/elastic/latest/routing_spec.rb'
     - 'ee/spec/lib/elastic/latest/snippet_instance_proxy_spec.rb'
     - 'ee/spec/lib/elastic/latest/user_config_spec.rb'
diff --git a/.rubocop_todo/search/namespaced_class.yml b/.rubocop_todo/search/namespaced_class.yml
index ba2dbafb3c7cf..71067dd4e1cdf 100644
--- a/.rubocop_todo/search/namespaced_class.yml
+++ b/.rubocop_todo/search/namespaced_class.yml
@@ -108,8 +108,6 @@ Search/NamespacedClass:
     - 'ee/lib/elastic/latest/note_instance_proxy.rb'
     - 'ee/lib/elastic/latest/project_class_proxy.rb'
     - 'ee/lib/elastic/latest/project_instance_proxy.rb'
-    - 'ee/lib/elastic/latest/project_wiki_class_proxy.rb'
-    - 'ee/lib/elastic/latest/project_wiki_instance_proxy.rb'
     - 'ee/lib/elastic/latest/query_context.rb'
     - 'ee/lib/elastic/latest/repository_class_proxy.rb'
     - 'ee/lib/elastic/latest/repository_instance_proxy.rb'
@@ -142,8 +140,6 @@ Search/NamespacedClass:
     - 'ee/lib/elastic/v12p1/note_instance_proxy.rb'
     - 'ee/lib/elastic/v12p1/project_class_proxy.rb'
     - 'ee/lib/elastic/v12p1/project_instance_proxy.rb'
-    - 'ee/lib/elastic/v12p1/project_wiki_class_proxy.rb'
-    - 'ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb'
     - 'ee/lib/elastic/v12p1/repository_class_proxy.rb'
     - 'ee/lib/elastic/v12p1/repository_instance_proxy.rb'
     - 'ee/lib/elastic/v12p1/routing.rb'
diff --git a/ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml b/ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml
deleted file mode 100644
index 1a2f53dcff1bd..0000000000000
--- a/ee/config/feature_flags/development/simplify_logic_to_find_search_proxy_class.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: simplify_logic_to_find_search_proxy_class
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121928
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413420
-milestone: '16.1'
-type: development
-group: group::global search
-default_enabled: false
diff --git a/ee/lib/elastic/latest/project_wiki_class_proxy.rb b/ee/lib/elastic/latest/project_wiki_class_proxy.rb
deleted file mode 100644
index 350e5d7c068c6..0000000000000
--- a/ee/lib/elastic/latest/project_wiki_class_proxy.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-module Elastic
-  module Latest
-    class ProjectWikiClassProxy < ApplicationClassProxy
-      include GitClassProxy
-
-      def es_type
-        'wiki_blob'
-      end
-
-      def elastic_search_as_wiki_page(*args)
-        elastic_search_as_found_blob(*args).map! do |blob|
-          Gitlab::Search::FoundWikiPage.new(blob)
-        end
-      end
-    end
-  end
-end
diff --git a/ee/lib/elastic/latest/project_wiki_instance_proxy.rb b/ee/lib/elastic/latest/project_wiki_instance_proxy.rb
deleted file mode 100644
index 271c330272578..0000000000000
--- a/ee/lib/elastic/latest/project_wiki_instance_proxy.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# frozen_string_literal: true
-
-module Elastic
-  module Latest
-    class ProjectWikiInstanceProxy < ApplicationInstanceProxy
-      include GitInstanceProxy
-
-      delegate :project, to: :target
-      delegate :id, to: :project, prefix: true
-
-      # @return [Kaminari::PaginatableArray]
-      def elastic_search_as_wiki_page(query, page: 1, per: 20, options: {})
-        options = repository_specific_options(options)
-
-        self.class.elastic_search_as_wiki_page(query, page: page, per: per, options: options)
-      end
-
-      private
-
-      def repository_id
-        if ::Elastic::DataMigrationService.migration_has_finished?(:add_suffix_project_in_wiki_rid)
-          "wiki_project_#{project.id}"
-        else
-          "wiki_#{project.id}"
-        end
-      end
-    end
-  end
-end
diff --git a/ee/lib/elastic/multi_version_util.rb b/ee/lib/elastic/multi_version_util.rb
index 170b0705d8f09..b27923513e777 100644
--- a/ee/lib/elastic/multi_version_util.rb
+++ b/ee/lib/elastic/multi_version_util.rb
@@ -34,9 +34,7 @@ def elastic_writing_targets
     private
 
     def get_data_class(klass)
-      return (klass.try(:base_class) || klass) if Feature.enabled?(:simplify_logic_to_find_search_proxy_class)
-
-      klass < ActiveRecord::Base ? klass.base_class : klass
+      klass.try(:base_class) || klass
     end
 
     # Handles which method calls should be forwarded to all targets,
diff --git a/ee/lib/elastic/v12p1/project_wiki_class_proxy.rb b/ee/lib/elastic/v12p1/project_wiki_class_proxy.rb
deleted file mode 100644
index 5f401784a5bd5..0000000000000
--- a/ee/lib/elastic/v12p1/project_wiki_class_proxy.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# rubocop:disable Naming/FileName
-# frozen_string_literal: true
-
-module Elastic
-  module V12p1
-    ProjectWikiClassProxy = Elastic::Latest::ProjectWikiClassProxy
-  end
-end
-
-# rubocop:enable Naming/FileName
diff --git a/ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb b/ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb
deleted file mode 100644
index c0931ee029e85..0000000000000
--- a/ee/lib/elastic/v12p1/project_wiki_instance_proxy.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# rubocop:disable Naming/FileName
-# frozen_string_literal: true
-
-module Elastic
-  module V12p1
-    ProjectWikiInstanceProxy = Elastic::Latest::ProjectWikiInstanceProxy
-  end
-end
-
-# rubocop:enable Naming/FileName
diff --git a/ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb b/ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb
deleted file mode 100644
index 9020788fb9d89..0000000000000
--- a/ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Elastic::Latest::ProjectWikiClassProxy, :elastic, feature_category: :global_search do
-  let(:project) { create(:project, :wiki_repo) }
-
-  subject { described_class.new(project.wiki.class, use_separate_indices: ProjectWiki.use_separate_indices?) }
-
-  describe '#elastic_search_as_wiki_page' do
-    let!(:page) { create(:wiki_page, wiki: project.wiki) }
-
-    before do
-      stub_ee_application_setting(elasticsearch_search: true, elasticsearch_indexing: true)
-
-      Gitlab::Elastic::Indexer.new(project, wiki: true).run
-      ensure_elasticsearch_index!
-    end
-
-    it 'returns FoundWikiPage', :sidekiq_inline do
-      results = subject.elastic_search_as_wiki_page('*')
-
-      expect(results.size).to eq(1)
-      expect(results).to all(be_a(Gitlab::Search::FoundWikiPage))
-
-      result = results.first
-
-      expect(result.path).to eq(page.path)
-      expect(result.startline).to eq(1)
-      expect(result.data).to include(page.content)
-      expect(result.project).to eq(project)
-    end
-  end
-
-  it 'names elasticsearch queries' do
-    subject.elastic_search_as_wiki_page('*')
-
-    assert_named_queries('doc:is_a:wiki_blob', 'blob:match:search_terms')
-  end
-end
diff --git a/ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb b/ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb
deleted file mode 100644
index 701c60beb3d54..0000000000000
--- a/ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Elastic::Latest::ProjectWikiInstanceProxy, feature_category: :global_search do
-  let_it_be(:project) { create(:project, :wiki_repo) }
-
-  subject { described_class.new(project.wiki, use_separate_indices: true) }
-
-  describe '#elastic_search_as_wiki_page' do
-    let(:params) do
-      {
-        page: 2,
-        per: 30,
-        options: { foo: :bar }
-      }
-    end
-
-    it 'provides repository_id if not provided' do
-      expected_params = params.deep_dup
-      expected_params[:options][:repository_id] = "wiki_#{project.id}"
-
-      expect(subject.class).to receive(:elastic_search_as_wiki_page).with('foo', expected_params)
-
-      subject.elastic_search_as_wiki_page('foo', **params)
-    end
-
-    it 'uses provided repository_id' do
-      params[:options][:repository_id] = "wiki_63"
-
-      expect(subject.class).to receive(:elastic_search_as_wiki_page).with('foo', params)
-
-      subject.elastic_search_as_wiki_page('foo', **params)
-    end
-  end
-end
diff --git a/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb b/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb
index a609f1732f487..be066f602dea4 100644
--- a/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb
+++ b/ee/spec/lib/elastic/multi_version_class_proxy_spec.rb
@@ -25,18 +25,6 @@
         expect(wiki_result).to be_a(Elastic::V12p1::WikiClassProxy)
         expect(wiki_result.target).to eq(ProjectWiki)
       end
-
-      context 'when feature_flag simplify_logic_to_find_search_proxy_class is disabled' do
-        before do
-          stub_feature_flags(simplify_logic_to_find_search_proxy_class: false)
-        end
-
-        it 'returns ProjectWikiClassProxy for wiki' do
-          wiki_proxy = described_class.new(ProjectWiki)
-          wiki_result = wiki_proxy.version('V12p1')
-          expect(wiki_result).to be_a(Elastic::V12p1::ProjectWikiClassProxy)
-        end
-      end
     end
   end
 
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml
index adee31ca64413..b9ce1f80c0231 100644
--- a/spec/support/rspec_order_todo.yml
+++ b/spec/support/rspec_order_todo.yml
@@ -1213,8 +1213,6 @@
 - './ee/spec/lib/elastic/latest/merge_request_config_spec.rb'
 - './ee/spec/lib/elastic/latest/note_config_spec.rb'
 - './ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb'
-- './ee/spec/lib/elastic/latest/project_wiki_class_proxy_spec.rb'
-- './ee/spec/lib/elastic/latest/project_wiki_instance_proxy_spec.rb'
 - './ee/spec/lib/elastic/latest/routing_spec.rb'
 - './ee/spec/lib/elastic/latest/snippet_instance_proxy_spec.rb'
 - './ee/spec/lib/elastic/migration_spec.rb'
-- 
GitLab