Skip to content

Revert "Merge branch 'labkit-prometheus-client' into 'master'"

What does this MR do and why?

Revert "Merge branch 'labkit-prometheus-client' into 'master'"

This reverts merge request !188302 (merged) to fix the db:backup_and_restore jobs, which are failing with the error below on master. Repro steps listed are below.

References

How to set up and validate locally

I verified this change by running this with & without the revert:

RAILS_ENV=test bin/rails db:reset
RAILS_ENV=test bin/rails db:migrate

Before the revert, this fails with error:

bin/rails aborted!
ThreadError: deadlock; recursive locking
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/metrics/prometheus.rb:97:in `synchronize'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/metrics/prometheus.rb:97:in `safe_provide_metric'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/metrics/prometheus.rb:75:in `histogram'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/instrumentation/redis_base.rb:173:in `instance_observe_duration'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/instrumentation/redis_helper.rb:35:in `block in instrument_call'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/instrumentation/redis_helper.rb:35:in `each'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/instrumentation/redis_helper.rb:35:in `ensure in instrument_call'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/instrumentation/redis_helper.rb:42:in `instrument_call'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/instrumentation/redis_client_middleware.rb:13:in `call'
/Users/syasonik/workspace/gdk/gitlab/lib/gitlab/patch/redis_client.rb:12:in `ensure_connected'
/Users/syasonik/workspace/gdk/gitlab/lib/feature.rb:325:in `block in current_feature_value'
/Users/syasonik/workspace/gdk/gitlab/lib/feature.rb:340:in `with_feature'
/Users/syasonik/workspace/gdk/gitlab/lib/feature.rb:321:in `current_feature_value'
/Users/syasonik/workspace/gdk/gitlab/lib/feature.rb:126:in `enabled?'
/Users/syasonik/workspace/gdk/gitlab/app/models/concerns/cache_markdown_field.rb:43:in `banzai_render_context'
/Users/syasonik/workspace/gdk/gitlab/lib/banzai/renderer.rb:51:in `cacheless_render_field'
/Users/syasonik/workspace/gdk/gitlab/app/models/concerns/cache_markdown_field.rb:52:in `rendered_field_content'
/Users/syasonik/workspace/gdk/gitlab/app/models/concerns/cache_markdown_field.rb:61:in `block in refresh_markdown_cache'
...

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sarah Yasonik

Merge request reports

Loading