Description of problem: The system dropdown link does not stay open for more than a second upon clicking How reproducible: always Steps to Reproduce: 1. Go to the recipe page, for a recipe which is currently reserved 2. Click the arrow next to the system name in the recipe summary section Actual results: the dropdown closes immediately after clicking Expected results: the dropdown stays open Additional info: This is probably due to the re-rendering of recipe summary per second of watchdog countdown introduced in https://bugzilla.redhat.com/show_bug.cgi?id=1358619
Update: There is a listenTo() for *all* changes in the model in the initialisation RecipeSummaryView. This will need to be narrowed down to only listenTo() changes of interest in the model in order to stop the constant re-rendering.
https://gerrit.beaker-project.org/#/c/5871/
*** Bug 1500777 has been marked as a duplicate of this bug. ***
*** Bug 1501777 has been marked as a duplicate of this bug. ***
However, it looks like we have a very similar problem on the job page. While a recipe is running, it's impossible to select the hostname from the recipe row (in order to copy it to the clipboard). I am guessing that it's the same underlying problem (the row is being re-rendered once per second due to the change event on the watchdog timer).
Another place that is affected: the recipe page header. Can't copy-paste the recipe id easily. I am wondering if we need to just revert bug 1358619 entirely and find a different solution. It has caused problems in a lot of places.
*** Bug 1504785 has been marked as a duplicate of this bug. ***
I suspect this has also caused bug 1500974 -- if we have a lot of templates being re-rendered once per second it could contribute to high CPU usage.
I tried to find all the other problem areas by grepping for: listenTo.*change[ '] and then inspecting each location to see if it was using a Recipe model. That led me to these: https://gerrit.beaker-project.org/5881 more targetted re-rendering for the recipe page header https://gerrit.beaker-project.org/5882 more targetted re-rendering for the job page recipe rows https://gerrit.beaker-project.org/5883 more targetted re-rendering for the recipe progress bar
I used the Performance tab in Firefox dev tools to compare Beaker 24.4 vs. the above patches, on the job page and the recipe page. For both pages, it shows that the JS is now basically idle the whole time (except for the auto-fetch which happens every 30 seconds) with the patches in place. Whereas on Beaker 24.4 there is a substantial amount of CPU time (several seconds over a 1 minute profile) spent on template rendering and parsing HTML and DOM manipulation. So I think we the above three, we have got them all -- and hopefully fixes bug 1500974 as well.
*** Bug 1506462 has been marked as a duplicate of this bug. ***
Verified. For a running recipe: * I am able to select the hostname in the jobs page. * I am able to select parts of the recipe header.
Beaker 24.5 has been released.
*** Bug 1500974 has been marked as a duplicate of this bug. ***