Merge branch '64092-removes-update-statistics-namespace-feature-flag' into 'master'
Removes update_statistics_namespace feature flag See merge request gitlab-org/gitlab-ce!31392
This commit is contained in:
commit
dd05aed1d3
|
@ -73,15 +73,10 @@ module UpdateProjectStatistics
|
|||
|
||||
def schedule_namespace_aggregation_worker
|
||||
run_after_commit do
|
||||
next unless schedule_aggregation_worker?
|
||||
next if project.nil?
|
||||
|
||||
Namespaces::ScheduleAggregationWorker.perform_async(project.namespace_id)
|
||||
end
|
||||
end
|
||||
|
||||
def schedule_aggregation_worker?
|
||||
!project.nil? &&
|
||||
Feature.enabled?(:update_statistics_namespace, project.root_ancestor)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -93,13 +93,7 @@ class ProjectStatistics < ApplicationRecord
|
|||
|
||||
def schedule_namespace_aggregation_worker
|
||||
run_after_commit do
|
||||
next unless schedule_aggregation_worker?
|
||||
|
||||
Namespaces::ScheduleAggregationWorker.perform_async(project.namespace_id)
|
||||
end
|
||||
end
|
||||
|
||||
def schedule_aggregation_worker?
|
||||
Feature.enabled?(:update_statistics_namespace, project&.root_ancestor)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@ module Namespaces
|
|||
def perform(namespace_id)
|
||||
namespace = Namespace.find(namespace_id)
|
||||
|
||||
return unless update_statistics_enabled_for?(namespace) && namespace.aggregation_scheduled?
|
||||
return unless namespace.aggregation_scheduled?
|
||||
|
||||
Namespaces::StatisticsRefresherService.new.execute(namespace)
|
||||
|
||||
|
@ -23,9 +23,5 @@ module Namespaces
|
|||
def log_error(namespace_path, error_message)
|
||||
Gitlab::SidekiqLogger.error("Namespace statistics can't be updated for #{namespace_path}: #{error_message}")
|
||||
end
|
||||
|
||||
def update_statistics_enabled_for?(namespace)
|
||||
Feature.enabled?(:update_statistics_namespace, namespace)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,7 +12,7 @@ module Namespaces
|
|||
namespace = Namespace.find(namespace_id)
|
||||
root_ancestor = namespace.root_ancestor
|
||||
|
||||
return unless update_statistics_enabled_for?(root_ancestor) && !root_ancestor.aggregation_scheduled?
|
||||
return if root_ancestor.aggregation_scheduled?
|
||||
|
||||
Namespace::AggregationSchedule.safe_find_or_create_by!(namespace_id: root_ancestor.id)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
@ -37,9 +37,5 @@ module Namespaces
|
|||
def log_error(root_ancestor_id)
|
||||
Gitlab::SidekiqLogger.error("Namespace can't be scheduled for aggregation: #{root_ancestor_id} does not exist")
|
||||
end
|
||||
|
||||
def update_statistics_enabled_for?(root_ancestor)
|
||||
Feature.enabled?(:update_statistics_namespace, root_ancestor)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Enables storage statistics for root namespaces on database
|
||||
merge_request: 31392
|
||||
author:
|
||||
type: other
|
|
@ -140,18 +140,7 @@ describe ProjectStatistics do
|
|||
let(:namespace) { create(:group) }
|
||||
let(:project) { create(:project, namespace: namespace) }
|
||||
|
||||
context 'when the feature flag is off' do
|
||||
it 'does not schedule the aggregation worker' do
|
||||
stub_feature_flags(update_statistics_namespace: false, namespace: namespace)
|
||||
|
||||
expect(Namespaces::ScheduleAggregationWorker)
|
||||
.not_to receive(:perform_async)
|
||||
|
||||
statistics.refresh!(only: [:lfs_objects_size])
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the feature flag is on' do
|
||||
context 'when arguments are passed' do
|
||||
it 'schedules the aggregation worker' do
|
||||
expect(Namespaces::ScheduleAggregationWorker)
|
||||
.to receive(:perform_async)
|
||||
|
|
|
@ -32,19 +32,6 @@ shared_examples_for 'UpdateProjectStatistics' do
|
|||
|
||||
subject.save!
|
||||
end
|
||||
|
||||
context 'when feature flag is disabled for the namespace' do
|
||||
it 'does not schedules a namespace statistics worker' do
|
||||
namespace = subject.project.root_ancestor
|
||||
|
||||
stub_feature_flags(update_statistics_namespace: false, namespace: namespace)
|
||||
|
||||
expect(Namespaces::ScheduleAggregationWorker)
|
||||
.not_to receive(:perform_async)
|
||||
|
||||
subject.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when updating' do
|
||||
|
@ -87,20 +74,6 @@ shared_examples_for 'UpdateProjectStatistics' do
|
|||
subject.save!
|
||||
end.not_to exceed_query_limit(control_count)
|
||||
end
|
||||
|
||||
context 'when the feature flag is disabled for the namespace' do
|
||||
it 'does not schedule a namespace statistics worker' do
|
||||
namespace = subject.project.root_ancestor
|
||||
|
||||
stub_feature_flags(update_statistics_namespace: false, namespace: namespace)
|
||||
|
||||
expect(Namespaces::ScheduleAggregationWorker)
|
||||
.not_to receive(:perform_async)
|
||||
|
||||
subject.write_attribute(statistic_attribute, read_attribute + delta)
|
||||
subject.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when destroying' do
|
||||
|
@ -144,18 +117,5 @@ shared_examples_for 'UpdateProjectStatistics' do
|
|||
project.destroy!
|
||||
end
|
||||
end
|
||||
|
||||
context 'when feature flag is disabled for the namespace' do
|
||||
it 'does not schedule a namespace statistics worker' do
|
||||
namespace = subject.project.root_ancestor
|
||||
|
||||
stub_feature_flags(update_statistics_namespace: false, namespace: namespace)
|
||||
|
||||
expect(Namespaces::ScheduleAggregationWorker)
|
||||
.not_to receive(:perform_async)
|
||||
|
||||
subject.destroy!
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -74,15 +74,4 @@ describe Namespaces::RootStatisticsWorker, '#perform' do
|
|||
worker.perform(group.id)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when update_statistics_namespace is off' do
|
||||
it 'does not create a new one' do
|
||||
stub_feature_flags(update_statistics_namespace: false, namespace: group)
|
||||
|
||||
expect_any_instance_of(Namespaces::StatisticsRefresherService)
|
||||
.not_to receive(:execute)
|
||||
|
||||
worker.perform(group.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -31,16 +31,6 @@ describe Namespaces::ScheduleAggregationWorker, '#perform', :clean_gitlab_redis_
|
|||
expect(group.aggregation_schedule).to be_present
|
||||
end
|
||||
end
|
||||
|
||||
context 'when update_statistics_namespace is off' do
|
||||
it 'does not create a new one' do
|
||||
stub_feature_flags(update_statistics_namespace: false, namespace: group)
|
||||
|
||||
expect do
|
||||
worker.perform(group.id)
|
||||
end.not_to change(Namespace::AggregationSchedule, :count)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when group is not the root ancestor' do
|
||||
|
|
Loading…
Reference in New Issue