Bug 1567978

Summary: slow query when updating content facet applicability counts
Product: Red Hat Satellite Reporter: Justin Sherrill <jsherril>
Component: Hosts - ContentAssignee: Justin Sherrill <jsherril>
Status: CLOSED ERRATA QA Contact: Harshad More <hmore>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.2.0CC: adprice, andrew.schofield, egolov, ehelms, hmore, mmccune, paji, rnuccite, sthirugn, zhunting
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-katello-3.4.5.69-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1572588 (view as bug list) Environment:
Last Closed: 2018-06-19 20:17:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Justin Sherrill 2018-04-16 14:01:08 UTC
When there are a lot of hosts and a lot of rpms, this query can be slow:

 SELECT COUNT(*) FROM "katello_rpms" INNER JOIN "katello_content_facet_applicable_rpms" ON "katello_rpms"."id" = "katello_content_facet_appl
icable_rpms"."rpm_id" WHERE "katello_content_facet_applicable_rpms"."content_facet_id" = $1  [["content_facet_id", 51438]]


it is generated by:

<pre>
      def update_applicability_counts
        self.update_attributes!(
            :installable_security_errata_count => self.installable_errata.security.count,
            :installable_bugfix_errata_count => self.installable_errata.bugfix.count,
            :installable_enhancement_errata_count => self.installable_errata.enhancement.count,
            :applicable_rpm_count => self.applicable_rpms.count,
            :upgradable_rpm_count => self.installable_rpms.count
        )
      end
</pre>

Comment 1 Justin Sherrill 2018-04-16 14:01:12 UTC
Created from redmine issue http://projects.theforeman.org/issues/23270

Comment 2 Justin Sherrill 2018-04-16 14:01:15 UTC
Upstream bug assigned to jsherril

Comment 4 Satellite Program 2018-04-16 16:18:10 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/23270 has been resolved.

Comment 6 Justin Sherrill 2018-04-27 15:35:26 UTC
To test this, just:

* sync some rhel repos
* attach some client that is not fully up to date (with katello-host-tools installed)
* Notice errata showing up for that clent
* yum update on the client
* errata should not show up any more

Comment 8 Mike McCune 2018-06-11 20:57:31 UTC
Registered 6000 hosts that had errata applicable.

Registered 1 more host that had ~400 errata applicable.

Ran yum update, installed ~500 RPMs and all errata. The UI showed 0 errata immediately after completion of the yum transaction on the client.

Moving to VERIFIED

Comment 10 errata-xmlrpc 2018-06-19 20:17:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:1950