Use linear version ApplicationSettings#elasticsearch_limited_namespaces

Changelog: performance
EE: true
parent fe5831c6
---
name: linear_application_settings_elasticsearch_limited_namespaces
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68931
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/339438
milestone: '14.3'
type: development
group: group::access
default_enabled: false
......@@ -231,7 +231,11 @@ module EE
return namespaces if ignore_descendants
::Gitlab::ObjectHierarchy.new(namespaces).base_and_descendants
if ::Feature.enabled?(:linear_application_settings_elasticsearch_limited_namespaces, default_enabled: :yaml)
namespaces.self_and_descendants
else
::Gitlab::ObjectHierarchy.new(namespaces).base_and_descendants
end
end
def pseudonymizer_available?
......
......@@ -400,18 +400,29 @@ RSpec.describe ApplicationSetting do
context 'with groups' do
let(:groups) { create_list(:group, 2) }
let!(:indexed_namespace) { create :elasticsearch_indexed_namespace, namespace: groups.last }
let!(:indexed_namespace) { create(:elasticsearch_indexed_namespace, namespace: groups.last) }
let!(:child_group) { create(:group, parent: groups.first) }
let!(:child_group_indexed_through_parent) { create(:group, parent: groups.last) }
shared_examples 'returns groups that are allowed to be indexed' do
specify do
create(:elasticsearch_indexed_namespace, namespace: child_group)
expect(setting.elasticsearch_limited_namespaces).to match_array(
[groups.last, child_group, child_group_indexed_through_parent])
expect(setting.elasticsearch_limited_namespaces(true)).to match_array(
[groups.last, child_group])
end
end
it 'returns groups that are allowed to be indexed' do
child_group = create(:group, parent: groups.first)
create :elasticsearch_indexed_namespace, namespace: child_group
it_behaves_like 'returns groups that are allowed to be indexed'
child_group_indexed_through_parent = create(:group, parent: groups.last)
context 'when feature flag :linear_application_settings_elasticsearch_limited_namespaces is disabled' do
before do
stub_feature_flags(linear_application_settings_elasticsearch_limited_namespaces: false)
end
expect(setting.elasticsearch_limited_namespaces).to match_array(
[groups.last, child_group, child_group_indexed_through_parent])
expect(setting.elasticsearch_limited_namespaces(true)).to match_array(
[groups.last, child_group])
it_behaves_like 'returns groups that are allowed to be indexed'
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment