High rate of undefined method errors in feature flag lookups
In https://log.gprd.gitlab.net/goto/080ec590-1e31-11ed-b86b-d963a1a6788e, we see an uptick of errors at 2022-08-16 15:00:
This does coincide with a deployment (https://dashboards.gitlab.net/d/RZmbBr7mk/gitlab-triage?orgId=1&from=1660662000000&to=1660669200000) of 15.3.202208160920-5a5fdf432c8.742208d9ada:
The diff seems unremarkable:
- GitLab: f2662037...5a5fdf43
- CNG: https://gitlab.com/gitlab-org/charts/components/images/-/compare/0455a43aec7b85c1b5f9bcca0387ffdf71797397...63db211d8560307e7d22d1209383be42946a5202
- Omnibus: https://gitlab.com/gitlab-org/omnibus-gitlab/-/compare/fc4ce36bf4f0d3571a5e8cc27969853db977ae73...742208d9ada100181daf53a36f93f766de8afd45
Related Sentry errors:
- https://sentry.gitlab.net/gitlab/gitlabcom/issues/3414143
- https://sentry.gitlab.net/gitlab/gitlabcom/issues/3415967/
Sample stack trace:
Exception(most recent call first)
NoMethodError: undefined method `[]' for true:TrueClass
from flipper (0.25.0) lib/flipper/gate_values.rb:23:in `initialize'
from flipper (0.25.0) lib/flipper/feature.rb:235:in `new'
from flipper (0.25.0) lib/flipper/feature.rb:235:in `gate_values'
from flipper (0.25.0) lib/flipper/feature.rb:104:in `block in enabled?'
from flipper (0.25.0) lib/flipper/feature.rb:375:in `block in instrument'
from flipper (0.25.0) lib/flipper/instrumenters/noop.rb:5:in `instrument'
from flipper (0.25.0) lib/flipper/feature.rb:372:in `instrument'
from flipper (0.25.0) lib/flipper/feature.rb:103:in `enabled?'
from lib/feature.rb:199:in `current_feature_value'
from lib/feature.rb:92:in `block in enabled?'
from lib/feature.rb:205:in `with_feature'
from lib/feature.rb:91:in `enabled?'
from lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:276:in `with_redis'
from lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:115:in `delete!'
from lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb:14:in `perform'
from lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:58:in `perform'
from lib/gitlab/sidekiq_middleware/duplicate_jobs/server.rb:8:in `call'
from sidekiq (6.4.0) lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
from lib/gitlab/sidekiq_middleware/worker_context.rb:9:in `wrap_in_optional_context'
from lib/gitlab/sidekiq_middleware/worker_context/server.rb:19:in `block in call'
from lib/gitlab/application_context.rb:110:in `block in use'
from gitlab-labkit (0.24.0) lib/labkit/context.rb:36:in `with_context'
Could be related to the Flipper upgrade in !95087 (merged), but it's not clear.
Edited by Stan Hu

