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
- Fixes master:broken gitlab-org/quality/engineering-productivity/master-broken-incidents#13851 (closed)
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