Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-698

updateBuildHistory in hudson-behavior.js very expensive on large build histories

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Environment:
      Platform: All, OS: All
    • Similar Issues:

      Description

      I just upgraded to 1.123, and I am having problems with build pages that contain
      a lot of builds (one example has 650 builds).
      In revision 1.27 of main/war/resources/scripts/hudson-behavior.js was added a
      line of code that adds behavior during the updateBuildHistory ajax call. I don't
      know exactly what this does, but looking in the debugger it iterates through the
      DOM tree returned by hudson when the page asks for the new build history. In my
      case this is huge, and prototype goes into several tight loops with over 3000
      elements.

      On my (pretty good) computer (core 2 duo under linux, firefox), this results in
      3-4second freeze (with one of the cores maxed out at 100%) and eventually
      firefox asks if it should kill the thread...

      Is the behavior needed? it worked fine on 1.102 (the previous revision I was
      running).

        Attachments

          Activity

          Hide
          kohsuke Kohsuke Kawaguchi added a comment -

          Already fixed in 1.124 and it has shipped today.
          Sorry about the inconvenience. Please upgrade.

          Show
          kohsuke Kohsuke Kawaguchi added a comment - Already fixed in 1.124 and it has shipped today. Sorry about the inconvenience. Please upgrade.

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            bruyeron bruyeron
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: