Geo: Primary attempts to talk to the secondary tracking database
In my test build using a slightly old version of master
, I noticed these errors in the Sidekiq logs:
2019-05-02_06:22:05.69827 2019-05-02T06:22:05.698Z 5026 TID-oqxqfu70q WARN: Geo::TrackingBase::SecondaryNotConfigured: Geo secondary database is not configured
2019-05-02_06:22:05.70003 2019-05-02T06:22:05.699Z 5026 TID-oqxqfu70q WARN: /opt/gitlab/embedded/service/gitlab-rails/ee/app/models/geo/tracking_base.rb:20:in `connection'
2019-05-02_06:22:05.70015 /opt/gitlab/embedded/service/gitlab-rails/ee/lib/gitlab/geo/fdw.rb:71:in `has_foreign_server?'
2019-05-02_06:22:05.70021 /opt/gitlab/embedded/service/gitlab-rails/ee/lib/gitlab/geo/fdw.rb:64:in `fdw_capable?'
2019-05-02_06:22:05.70027 /opt/gitlab/embedded/service/gitlab-rails/ee/lib/gitlab/geo/fdw.rb:15:in `enabled?'
2019-05-02_06:22:05.70033 /opt/gitlab/embedded/service/gitlab-rails/ee/lib/gitlab/geo/fdw.rb:23:in `disabled?'
2019-05-02_06:22:05.70038 /opt/gitlab/embedded/service/gitlab-rails/ee/app/finders/geo/registry_finder.rb:26:in `use_legacy_queries?'
2019-05-02_06:22:05.70044 /opt/gitlab/embedded/service/gitlab-rails/ee/app/finders/geo/registry_finder.rb:30:in `use_legacy_queries_for_selective_sync?'
2019-05-02_06:22:05.70049 /opt/gitlab/embedded/service/gitlab-rails/ee/app/finders/geo/lfs_object_registry_finder.rb:26:in `syncable'
2019-05-02_06:22:05.70054 /opt/gitlab/embedded/service/gitlab-rails/ee/app/finders/geo/lfs_object_registry_finder.rb:6:in `count_syncable'
2019-05-02_06:22:05.70060 /opt/gitlab/embedded/service/gitlab-rails/ee/app/models/geo_node_status.rb:163:in `load_data_from_current_node'
2019-05-02_06:22:05.70066 /opt/gitlab/embedded/service/gitlab-rails/ee/app/models/geo_node_status.rb:100:in `current_node_status'
2019-05-02_06:22:05.70072 /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/geo/metrics_update_service.rb:24:in `current_node_status'
2019-05-02_06:22:05.70081 /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/geo/metrics_update_service.rb:10:in `execute'
2019-05-02_06:22:05.70087 /opt/gitlab/embedded/service/gitlab-rails/ee/app/workers/geo/metrics_update_worker.rb:12:in `block in perform'
2019-05-02_06:22:05.70092 /opt/gitlab/embedded/service/gitlab-rails/app/services/concerns/exclusive_lease_guard.rb:29:in `try_obtain_lease'
2019-05-02_06:22:05.70097 /opt/gitlab/embedded/service/gitlab-rails/ee/app/workers/geo/metrics_update_worker.rb:12:in `perform'
2019-05-02_06:22:05.70102 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job'
2019-05-02_06:22:05.70108 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process'
2019-05-02_06:22:05.70114 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
I confirmed my node was the primary, but it looks like the FDW connection is trying to talk to the secondary tracking database. I also confirmed:
gitlabhq_production=> SELECT 1 FROM pg_foreign_server;
?column?
----------
(0 rows)
/cc: @dbalexandre