Bug 2215093
| Summary: | Optimize DockerMetaTag query and CV version deletion to run a single invocation of the method. | ||
|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Samir Jha <sajha> |
| Component: | Repositories | Assignee: | Samir Jha <sajha> |
| Status: | VERIFIED --- | QA Contact: | David Moore <damoore> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.10.0 | CC: | damoore, fgarciad, pcreech |
| Target Milestone: | 6.14.0 | Keywords: | Triaged |
| Target Release: | Unused | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | rubygem-katello-4.9.0.7-1 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Created from redmine issue https://projects.theforeman.org/issues/36500 Upstream bug assigned to None Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/36500 has been resolved. |
Test performance improvement between current query: self.where("id not in (?) OR (schema2_id IS NULL AND schema1_id IS NULL)", Katello::RepositoryDockerMetaTag.pluck(:docker_meta_tag_id) + [0]).delete_all vs self.where("(id != 0 and id not in (select docker_meta_tag_id from #{Katello::RepositoryDockerMetaTag.table_name})) OR (schema2_id IS NULL AND schema1_id IS NULL) ").delete_all Also, have this method called once per CV version delete vs once per CV version repo delete to save unnecessary calls.