Geo node status gives "ERROR: canceling statement due to conflict with recovery"
Running GeoNodeStatus.current_node_status
(or gitlab-rake geo:status
) gives an error on dr.gitlab.com
:
[ dr ] production> GeoNodeStatus.current_node_status
No secondaries were available, using primary instead
Traceback (most recent call last):
16: from ee/app/models/geo_node_status.rb:182:in `load_data_from_current_node'
15: from ee/app/models/geo_node_status.rb:228:in `load_secondary_data'
14: from ee/app/finders/geo/job_artifact_registry_finder.rb:22:in `count_registry'
13: from ee/app/finders/geo/job_artifact_registry_finder.rb:106:in `registries_for_job_artifacts'
12: from ee/app/finders/geo/legacy_job_artifact_registry_finder.rb:58:in `registries_for_job_artifacts'
11: from lib/gitlab/metrics/instrumentation.rb:163:in `pluck_primary_key'
10: from app/models/application_record.rb:17:in `pluck_primary_key'
9: from ee/lib/gitlab/database/load_balancing/connection_proxy.rb:41:in `select_all'
8: from ee/lib/gitlab/database/load_balancing/connection_proxy.rb:62:in `read_using_load_balancer'
7: from ee/lib/gitlab/database/load_balancing/load_balancer.rb:59:in `read'
6: from ee/lib/gitlab/database/load_balancing/load_balancer.rb:67:in `read_write'
5: from ee/lib/gitlab/database/load_balancing/load_balancer.rb:118:in `retry_with_backoff'
4: from ee/lib/gitlab/database/load_balancing/load_balancer.rb:68:in `block in read_write'
3: from ee/lib/gitlab/database/load_balancing/connection_proxy.rb:63:in `block in read_using_load_balancer'
2: from config/initializers/peek.rb:18:in `exec_params'
1: from config/initializers/peek.rb:18:in `async_exec_params'
ActiveRecord::SerializationFailure (PG::TRSerializationFailure: ERROR: canceling statement due to conflict with recovery)
DETAIL: User query might have needed to see row versions that must be removed.
: SELECT "ci_job_artifacts"."id" FROM "ci_job_artifacts" INNER JOIN "projects" ON "projects"."id" = "ci_job_artifacts"."project_id" WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "geo_node_namespace_links"."namespace_id" AS id FROM "geo_node_namespace_links" WHERE "geo_node_namespace_links"."geo_node_id" = 100047
UNION
SELECT "namespaces"."id" FROM "namespaces", "base_and_descendants" WHERE "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "id" FROM "base_and_descendants" AS "namespaces"))
Edited by Toon Claes