Bug 1297603
Summary: | [SLOW QUERY] beakerd counting dirty jobs | ||
---|---|---|---|
Product: | [Retired] Beaker | Reporter: | Dan Callaghan <dcallagh> |
Component: | scheduler | Assignee: | Dan Callaghan <dcallagh> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | tools-bugs <tools-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 21 | CC: | dcallagh, mjia |
Target Milestone: | 26.0 | Keywords: | Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-10-08 02:16:52 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1097861 |
Description
Dan Callaghan
2016-01-12 00:53:40 UTC
As of https://git.beaker-project.org/cgit/beaker/commit/?id=fa50dca70e604118c25158eeba7abc8ee5084690 we no longer issue this problematic COUNT() query. However the corresponding SELECT query itself, that is: SELECT job.id AS job_id FROM job WHERE job.dirty_version != job.clean_version came up in bug 1097861 as something which might be worth optimizing: https://bugzilla.redhat.com/show_bug.cgi?id=1097861#c36 Here is a patch to switch to the "naive" dirty flag approach: https://gerrit.beaker-project.org/6121 as described in: https://bugzilla.redhat.com/show_bug.cgi?id=1097861#c41 although it is not at all clear to me right now whether this change will make things better or worse overall. It might be worth seeking more data before deciding to merge that patch. (In reply to Dan Callaghan from comment #1) > although it is not at all clear to me right now whether this change will > make things better or worse overall. It might be worth seeking more data > before deciding to merge that patch. We don't have any real data proving this approach will be better or worse, and I cannot come up with any ideas how to get it. We don't have any kind of realistic load testing mechanism that would allow us to reproduce production-like load in a production-like environment to compare the behaviour of the two schema design choices. But knowing that: * the current version does occasionally hit the lock wait issues * the proposed version is a simpler schema, without index pollution * the corresponding SELECT query is also simpler, and the EXPLAIN looks nicer ... I think we should assume it *probably* won't be any worse. And thus we should roll it out. If it turns out we are wrong, well... we can always go back to the previous approach by reverting this patch. Beaker 26.0 has been released. |