3scale / apisonator

Red Hat 3scale API Management Apisonator backend
https://3scale.net
Apache License 2.0
36 stars 27 forks source link

Exception: undefined method `load_metric_names' for nil:NilClass #264

Closed davidor closed 3 years ago

davidor commented 3 years ago

Got this exception while running v3.2.1:

lib/3scale/backend/stats/aggregator.rb:148:in `block in update_alerts': undefined method `load_metric_names' for nil:NilClass (NoMethodError)
    from lib/3scale/backend/stats/aggregator.rb:143:in `each'
    from lib/3scale/backend/stats/aggregator.rb:143:in `update_alerts'
    from lib/3scale/backend/stats/aggregator.rb:62:in `process'
    from lib/3scale/backend/transactor/process_job.rb:16:in `perform'
    from lib/3scale/backend/transactor/report_job.rb:15:in `perform_logged'
    from lib/3scale/backend/background_job.rb:33:in `perform_wrapper'
    from lib/3scale/backend/background_job.rb:12:in `perform'
    from bundler/gems/resque-88839e71756e/lib/resque/job.rb:168:in `perform'
    from lib/3scale/backend/worker.rb:69:in `perform'
    from lib/3scale/backend/worker_sync.rb:23:in `block in work'
    from lib/3scale/backend/worker_sync.rb:19:in `loop'
    from lib/3scale/backend/worker_sync.rb:19:in `work'
    from lib/3scale/backend/worker.rb:47:in `work'
    from bin/3scale_backend_worker:25:in `block in <top (required)>'
    from gems/daemons-1.2.4/lib/daemons/application.rb:266:in `block in start_proc'
    from gems/daemons-1.2.4/lib/daemons/daemonize.rb:84:in `call_as_daemon'
    from gems/daemons-1.2.4/lib/daemons/application.rb:270:in `start_proc'
    from gems/daemons-1.2.4/lib/daemons/application.rb:296:in `start'
    from gems/daemons-1.2.4/lib/daemons/controller.rb:56:in `run'
    from gems/daemons-1.2.4/lib/daemons.rb:197:in `block in run_proc'
    from gems/daemons-1.2.4/lib/daemons/cmdline.rb:92:in `catch_exceptions'
    from gems/daemons-1.2.4/lib/daemons.rb:196:in `run_proc'
    from bin/3scale_backend_worker:24:in `<top (required)>'
    from /usr/local/bin/3scale_backend_worker:22:in `load'
    from /usr/local/bin/3scale_backend_worker:22:in `<main>'

I've only seen this once and the job was successful after rescheduling it, so this is probably a corner case that triggers very infrequently.