Bug 1658811 - Reporting filter causes Reporting Worker to spike 10GB+
Summary: Reporting filter causes Reporting Worker to spike 10GB+
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Performance
Version: 5.8.5
Hardware: All
OS: All
Target Milestone: GA
: cfme-future
Assignee: Keenan Brock
QA Contact: Sudhir Mallamprabhakara
Red Hat CloudForms Documentation
Depends On:
TreeView+ depends on / blocked
Reported: 2018-12-12 21:47 UTC by Ryan Spagnola
Modified: 2019-11-06 20:00 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-02-25 15:35:55 UTC
Category: Bug
Cloudforms Team: CFME Core
Target Upstream Version:

Attachments (Terms of Use)

Description Ryan Spagnola 2018-12-12 21:47:57 UTC
Description of problem:
Setting a filter based on the following causes reporting worker to hit 10GB+ 

VM Template and Image.Management Events : Dest Ems Cluster Name 

In customer environment removing the filter allows the report to complete as expected

Version-Release number of selected component (if applicable):

How reproducible:
Always in customer environment

Steps to Reproduce:
1. Go to Cloud Intel > Reports
2. create a custom report with the above filter

Actual results:
Reporting worker exceeds memory

Expected results:
Report should complete

Additional info:

Comment 4 Keenan Brock 2019-02-05 18:28:54 UTC
It looks like the report is downloading all the events in the event stream.
Are you really looking for a template that has an event associated with a particular cluster?


conditions: !ruby/object:MiqExpression
      field: MiqTemplate.ems_events-dest_ems_cluster_name
      value: Recurso

I expect it to not to go through events and reference the template.ems_cluster.name.

conditions: !ruby/object:MiqExpression
      field: MiqTemplate.ems_cluster-name
      value: Recurso

I'll look into optimizing this relationship, but do wonder if it is the report definition at fault.

Comment 5 Keenan Brock 2019-02-05 21:41:35 UTC
I played with the expression, and I feel it could possibly be INCLUDES (or EQUAL) instead of CONTAINS.
From what I understand, CONTAINS is for tags while INCLUDES/EQUAL is for field values (like cluster name)

This regular expression is showing all templates with a cluster name that includes Recurso (or is equal to) Recurso

conditions: !ruby/object:MiqExpression
      field: MiqTemplate.ems_cluster_name
      value: Recurso

Comment 6 Ryan Spagnola 2019-02-06 14:11:58 UTC
I'll update the customer with the change and will follow up if it works for them.

Note You need to log in before you can comment on or make changes to this bug.