Created attachment 1222560 [details] evm.log with with_interval_and_time_range errors Description of problem: I have been monitoring my environment and am getting many occurrences of this error daily in my VMware appliance's evm.log: [----] E, [2016-11-21T03:36:50.231686 #27621:53f994] ERROR -- : MIQ(MiqQueue#deliver) Message id: [10000070250068], Error: [undefined method `with_interval_and_time_range' for #<Metric::ActiveRecord_Relation:0x0000000e6759b8>] [----] E, [2016-11-21T03:36:50.236542 #27621:53f994] ERROR -- : [NoMethodError]: undefined method `with_interval_and_time_range' for #<Metric::ActiveRecord_Relation:0x0000000e6759b8> Method:[rescue in deliver] [----] E, [2016-11-21T03:36:50.236609 #27621:53f994] ERROR -- : /opt/rh/cfme-gemset/gems/activerecord-5.0.0.1/lib/active_record/relation/delegation.rb:123:in `method_missing' /opt/rh/cfme-gemset/gems/activerecord-5.0.0.1/lib/active_record/relation/delegation.rb:93:in `method_missing' /var/www/miq/vmdb/app/models/vim_performance_tag_value.rb:69:in `build_for_association' /var/www/miq/vmdb/app/models/vim_performance_tag_value.rb:45:in `block in build_from_performance_record' /var/www/miq/vmdb/app/models/vim_performance_tag_value.rb:45:in `collect' /var/www/miq/vmdb/app/models/vim_performance_tag_value.rb:45:in `build_from_performance_record' /var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:100:in `block (2 levels) in perf_rollup' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block' /var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:100:in `block in perf_rollup' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block' /var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:82:in `perf_rollup' /var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:123:in `block in perf_rollup_range' /var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:123:in `reverse_each' /var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:123:in `perf_rollup_range' /var/www/miq/vmdb/app/models/miq_queue.rb:345:in `block in deliver' /opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:89:in `block in timeout' /opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `block in catch' /opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch' /opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch' /opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:104:in `timeout' /var/www/miq/vmdb/app/models/miq_queue.rb:341:in `deliver' /var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:106:in `deliver_queue_message' /var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message' /var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:152:in `block in do_work' /var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `loop' /var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `do_work' /var/www/miq/vmdb/app/models/miq_worker/runner.rb:334:in `block in do_work_loop' /var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `loop' /var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `do_work_loop' /var/www/miq/vmdb/app/models/miq_worker/runner.rb:153:in `run' /var/www/miq/vmdb/app/models/miq_worker/runner.rb:128:in `start' /var/www/miq/vmdb/app/models/miq_worker/runner.rb:21:in `start_worker' /var/www/miq/vmdb/app/models/miq_worker.rb:347:in `block in start' /opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork' /opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork' /var/www/miq/vmdb/app/models/miq_worker.rb:345:in `start' /var/www/miq/vmdb/app/models/miq_worker.rb:274:in `start_worker' /var/www/miq/vmdb/app/models/miq_worker.rb:154:in `block in sync_workers' /var/www/miq/vmdb/app/models/miq_worker.rb:154:in `times' /var/www/miq/vmdb/app/models/miq_worker.rb:154:in `sync_workers' /var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:52:in `block in sync_workers' /var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `each' /var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `sync_workers' /var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:22:in `monitor_workers' /var/www/miq/vmdb/app/models/miq_server.rb:362:in `block in monitor' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block' /var/www/miq/vmdb/app/models/miq_server.rb:362:in `monitor' /var/www/miq/vmdb/app/models/miq_server.rb:382:in `block (2 levels) in monitor_loop' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store' /var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block' /var/www/miq/vmdb/app/models/miq_server.rb:382:in `block in monitor_loop' /var/www/miq/vmdb/app/models/miq_server.rb:381:in `loop' /var/www/miq/vmdb/app/models/miq_server.rb:381:in `monitor_loop' /var/www/miq/vmdb/app/models/miq_server.rb:266:in `start' /var/www/miq/vmdb/lib/workers/evm_server.rb:65:in `start' /var/www/miq/vmdb/lib/workers/evm_server.rb:92:in `start' /var/www/miq/vmdb/lib/workers/bin/evm_server.rb:4:in `<main>' [----] I, [2016-11-21T03:36:50.241598 #27621:53f994] INFO -- : MIQ(MiqQueue#delivered) Message id: [10000070250068], State: [error], Delivered in [3.03981159] seconds Version-Release number of selected component (if applicable): 5.6.2.2.20161017185613_7cee0a0 How reproducible: Not sure. Actual results: See Exception Expected results: No error. Additional info: Environment credentials can be shared on request.
Adam, take a look at this one, if it's more on the C&U side (I see some vim_performance stuff in that traceback) maybe pass it over to James...
It looks like with_interval_and_time_range is only defined for the MetricRollup class, but class_for_interval_name can return Metric or MetricRollup and vim_performance_tag_value is calling the method on both classes. CC'ing James since it doesn't seem to be an issue on the provider.
Pull request created: https://github.com/ManageIQ/manageiq/pull/12940
PR is merged to upstream. @jason, this bug is failing realtime perf_rollup_range(). Do you think we should port this to Euwe 1.0?
New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/781d3abf16e2c22c88a30b9e7b7484182fd87067 commit 781d3abf16e2c22c88a30b9e7b7484182fd87067 Author: James Wong <jwong> AuthorDate: Thu Dec 1 13:38:21 2016 -0500 Commit: James Wong <jwong> CommitDate: Thu Dec 1 13:43:42 2016 -0500 Move with_interval_and_time_range to metric/common.rb https://bugzilla.redhat.com/show_bug.cgi?id=1397244 app/models/metric.rb | 4 ---- app/models/metric/common.rb | 4 ++++ app/models/metric_rollup.rb | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-)
Verified that there are no [undefined method `with_interval_and_time_range' errors in the log files.