Bug #37058
closedCleanup orphans task generates inefficient queries consuming resources and taking long time to run
Description
Description of problem:
katello:delete_orphaned_content triggers queries on the DB to identify what are the orphan units to be removed. However, such query is not efficient on systems where table katello_repository_rpms is big.
Query is slow, consumes a lot of cpu and the task may take long time to run.
Version-Release number of selected component (if applicable):
How reproducible:
Always, on big databases.
Steps to Reproduce:
Conditions to reproduce it simply require big tables katello_repository_rpms and katello_rpms
Actual results:
Task works, but may take long time.
Expected results:
Faster execution.
Additional info:
Updated by Joniel Pasqualetto 10 months ago
Examples showing the query and long it took to run:
postgresql-Fri.log:2024-01-12 10:41:24 EST LOG: duration: 22159297.683 ms execute <unnamed>: SELECT "katello_rpms".* FROM "katello_rpms" WHERE "katello_rpms"."id" NOT IN (SELECT "katello_repository_rpms"."rpm_id" FROM "katello_repository_rpms")
postgresql-Mon.log:2024-01-15 05:07:14 EST LOG: duration: 25619032.228 ms execute <unnamed>: SELECT "katello_rpms".* FROM "katello_rpms" WHERE "katello_rpms"."id" NOT IN (SELECT "katello_repository_rpms"."rpm_id" FROM "katello_repository_rpms")
postgresql-Mon.log:2024-01-15 13:04:45 EST LOG: duration: 30758054.922 ms execute <unnamed>: SELECT "katello_rpms".* FROM "katello_rpms" WHERE "katello_rpms"."id" NOT IN (SELECT "katello_repository_rpms"."rpm_id" FROM "katello_repository_rpms")
postgresql-Sat.log:2024-01-13 11:32:09 EST LOG: duration: 25201996.464 ms execute <unnamed>: SELECT "katello_rpms".* FROM "katello_rpms" WHERE "katello_rpms"."id" NOT IN (SELECT "katello_repository_rpms"."rpm_id" FROM "katello_repository_rpms")
postgresql-Tue.log:2024-01-16 10:53:36 EST LOG: duration: 22865189.741 ms execute <unnamed>: SELECT "katello_rpms".* FROM "katello_rpms" WHERE "katello_rpms"."id" NOT IN (SELECT "katello_repository_rpms"."rpm_id" FROM "katello_repository_rpms")
Updated by The Foreman Bot 10 months ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/Katello/katello/pull/10851 added
Updated by Joniel Pasqualetto 10 months ago
- Status changed from Ready For Testing to Closed
Applied in changeset katello|799b4c0bc97d6aa02a309a02d923ebf7be14d7ac.
Updated by Partha Aji 10 months ago
- Target version set to Katello 4.12.0
- Triaged changed from No to Yes