diff --git a/app/services/import/reassign_placeholder_user_records_service.rb b/app/services/import/reassign_placeholder_user_records_service.rb index 4e76ffff21be020b9ebf7f1e51691efe39fec24f..0714e5859232bf0f5a1378764173cd65d5317d74 100644 --- a/app/services/import/reassign_placeholder_user_records_service.rb +++ b/app/services/import/reassign_placeholder_user_records_service.rb @@ -236,8 +236,7 @@ def db_table_health_check!(model) health_context = Gitlab::Database::HealthStatus::Context.new( DatabaseHealthStatusChecker.new(import_source_user.id, self.class.name), nil, - [model.table_name], - nil + [model.table_name] ) stop_signal = Gitlab::Database::HealthStatus @@ -253,8 +252,7 @@ def db_health_check! health_context = Gitlab::Database::HealthStatus::Context.new( DatabaseHealthStatusChecker.new(import_source_user.id, self.class.name), Gitlab::Database.schemas_to_base_models[gitlab_schema].first, - nil, - gitlab_schema + nil ) Gitlab::Database::HealthStatus diff --git a/lib/gitlab/database/background_migration/batched_migration.rb b/lib/gitlab/database/background_migration/batched_migration.rb index 567f99d034ea7d3b050fae822e9c563395bdd623..2e11abdb378b58b1b28a9a2804d6c98b2a30bac3 100644 --- a/lib/gitlab/database/background_migration/batched_migration.rb +++ b/lib/gitlab/database/background_migration/batched_migration.rb @@ -279,8 +279,7 @@ def health_context @health_context ||= Gitlab::Database::HealthStatus::Context.new( self, connection, - [table_name], - gitlab_schema.to_sym + [table_name] ) end diff --git a/lib/gitlab/database/health_status/context.rb b/lib/gitlab/database/health_status/context.rb index 717257a84ad36f998628be37575fbd5b61850b93..639149908cb5c0bbfcad07c08eebf24ecbf9cbd9 100644 --- a/lib/gitlab/database/health_status/context.rb +++ b/lib/gitlab/database/health_status/context.rb @@ -4,15 +4,14 @@ module Gitlab module Database module HealthStatus class Context - attr_reader :status_checker, :connection, :tables, :gitlab_schema + attr_reader :status_checker, :connection, :tables # status_checker: the caller object which checks for database health status # eg: BackgroundMigration::BatchedMigration or DeferJobs::DatabaseHealthStatusChecker - def initialize(status_checker, connection, tables, gitlab_schema) + def initialize(status_checker, connection, tables) @status_checker = status_checker @connection = connection @tables = tables - @gitlab_schema = gitlab_schema end def status_checker_info diff --git a/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb b/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb index ecfb61014753b4928fc7280080fd7a0912bc976f..b57e8bdda593dc3c91b2335290c6cd12e09a92f2 100644 --- a/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb +++ b/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb @@ -13,7 +13,7 @@ class PrometheusAlertIndicator }.freeze def initialize(context) - @gitlab_schema = context.gitlab_schema.to_sym + @connection = context.connection end def evaluate @@ -34,7 +34,7 @@ def evaluate private - attr_reader :gitlab_schema + attr_reader :connection def indicator_name self.class.name.demodulize @@ -107,7 +107,7 @@ def sli_query gitlab_main_cell: prometheus_alert_db_indicators_settings[sli_query_key][:main_cell], gitlab_ci: prometheus_alert_db_indicators_settings[sli_query_key][:ci], gitlab_sec: gitlab_sec_query - }.fetch(gitlab_schema) + }.fetch(:"gitlab_#{connection.load_balancer.name}", nil) end strong_memoize_attr :sli_query @@ -121,7 +121,7 @@ def slo gitlab_main_cell: prometheus_alert_db_indicators_settings[slo_key][:main_cell], gitlab_ci: prometheus_alert_db_indicators_settings[slo_key][:ci], gitlab_sec: gitlab_sec_query - }.fetch(gitlab_schema) + }.fetch(:"gitlab_#{connection.load_balancer.name}", nil) end strong_memoize_attr :slo diff --git a/lib/gitlab/sidekiq_middleware/skip_jobs.rb b/lib/gitlab/sidekiq_middleware/skip_jobs.rb index e12d3bd079b2d840964c3616c410c0148fbced53..942834357aaa7f9b51fc4222d3357629a146c8ec 100644 --- a/lib/gitlab/sidekiq_middleware/skip_jobs.rb +++ b/lib/gitlab/sidekiq_middleware/skip_jobs.rb @@ -96,8 +96,7 @@ def defer_job_by_database_health_signal?(job, worker_class) health_context = Gitlab::Database::HealthStatus::Context.new( DatabaseHealthStatusChecker.new(job['jid'], worker_class.name), job_base_model.connection, - tables, - schema + tables ) Gitlab::Database::HealthStatus.evaluate(health_context).any?(&:stop?) diff --git a/spec/lib/gitlab/database/health_status/indicators/autovacuum_active_on_table_spec.rb b/spec/lib/gitlab/database/health_status/indicators/autovacuum_active_on_table_spec.rb index edf452575b14fd1c3c2e4c14aefb3af362da648e..a05433e63c1ca4be8af6fb97b7988e8cb507a744 100644 --- a/spec/lib/gitlab/database/health_status/indicators/autovacuum_active_on_table_spec.rb +++ b/spec/lib/gitlab/database/health_status/indicators/autovacuum_active_on_table_spec.rb @@ -27,8 +27,7 @@ Gitlab::Database::HealthStatus::Context.new( described_class, connection, - tables, - :gitlab_main + tables ) end diff --git a/spec/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator_spec.rb b/spec/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator_spec.rb index 2bd7639875cd46b44fca0ef3fe34e3d315517d2a..4d593860c0b9101ff06df745add095045063c8f0 100644 --- a/spec/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator_spec.rb +++ b/spec/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator_spec.rb @@ -10,8 +10,7 @@ Gitlab::Database::HealthStatus::Context.new( described_class, connection, - ['users'], - :gitlab_main + ['users'] ) end diff --git a/spec/lib/gitlab/database/health_status/indicators/write_ahead_log_spec.rb b/spec/lib/gitlab/database/health_status/indicators/write_ahead_log_spec.rb index cb849a7662156e1f4a3da311a51c106df996b5b7..58ef8d6dce254a34d710387d6fc1204151254008 100644 --- a/spec/lib/gitlab/database/health_status/indicators/write_ahead_log_spec.rb +++ b/spec/lib/gitlab/database/health_status/indicators/write_ahead_log_spec.rb @@ -18,8 +18,7 @@ Gitlab::Database::HealthStatus::Context.new( described_class, connection, - tables, - :gitlab_main + tables ) end diff --git a/spec/lib/gitlab/database/health_status_spec.rb b/spec/lib/gitlab/database/health_status_spec.rb index 8e9cd1c0fc9c81e22e8bab5369f5a72f8c75ee41..d25e4e301eb246f94afa5df97b7323009fedda50 100644 --- a/spec/lib/gitlab/database/health_status_spec.rb +++ b/spec/lib/gitlab/database/health_status_spec.rb @@ -123,7 +123,6 @@ def self.name Gitlab::Database::HealthStatus::Context.new( deferred_worker_health_checker, ActiveRecord::Base.connection, - :gitlab_main, [:users] ) end diff --git a/spec/lib/gitlab/sidekiq_middleware/skip_jobs_spec.rb b/spec/lib/gitlab/sidekiq_middleware/skip_jobs_spec.rb index ecdc620c0171004f5d4689a4192cebbc657a22f0..0383791b825183522ca4777937ec3d0c5e501c31 100644 --- a/spec/lib/gitlab/sidekiq_middleware/skip_jobs_spec.rb +++ b/spec/lib/gitlab/sidekiq_middleware/skip_jobs_spec.rb @@ -208,7 +208,7 @@ def self.name it 'uses the lazy evaluated schema and tables returned by the block' do expect(Gitlab::Database::HealthStatus::Context).to receive(:new) - .with(anything, anything, [:ci_pipelines], :gitlab_ci).and_call_original + .with(anything, anything, [:ci_pipelines]).and_call_original expect { |b| subject.call(TestWorker.new, job, queue, &b) }.to yield_control end diff --git a/spec/support/shared_examples/database_health_status_indicators/prometheus_alert_based_shared_examples.rb b/spec/support/shared_examples/database_health_status_indicators/prometheus_alert_based_shared_examples.rb index b3c9efa0cfa24abe29e0f37b24a63744cd76e271..09897f3551125cba3205f49b535cd69f62494dab 100644 --- a/spec/support/shared_examples/database_health_status_indicators/prometheus_alert_based_shared_examples.rb +++ b/spec/support/shared_examples/database_health_status_indicators/prometheus_alert_based_shared_examples.rb @@ -11,8 +11,7 @@ end describe '#evaluate' do - let(:context) { Gitlab::Database::HealthStatus::Context.new(described_class, connection, ['users'], gitlab_schema) } - let(:gitlab_schema) { "gitlab_#{schema}" } + let(:context) { Gitlab::Database::HealthStatus::Context.new(described_class, connection, ['users']) } let(:client_ready) { true } let(:indicator_name) { described_class.name.demodulize } let(:indicator) { described_class.new(context) }