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

Lazy-initialize FlowNodeStorage and heads, etc

      When loading Pipeline builds (WorkflowRuns) they eagerly load the FlowHeads, etc as part of deserialization.  This triggers additional disk hits and initialization to create the FlowNodeStorage and populate it with those nodes. 

      We should lazy-load these for completed builds and avoid fetching heads until requested – this makes operations that iterate through builds much faster. 

      This is especially important because the Bulk FlowNode storage (https://issues.jenkins-ci.org/browse/JENKINS-47173) will load all the nodes when created – which will happen when loading the build.  The CPU and disk hit for deserialization may be rather significant.   

          [JENKINS-49086] Lazy-initialize FlowNodeStorage and heads, etc

          Sam Van Oort created issue -
          Sam Van Oort made changes -
          Epic Link New: JENKINS-47170 [ 185575 ]
          Sam Van Oort made changes -
          Link New: This issue is related to JENKINS-39489 [ JENKINS-39489 ]
          Sam Van Oort made changes -
          Labels Original: performance pipeline New: performance pipeline project-cheetah
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-47173 [ JENKINS-47173 ]
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-45585 [ JENKINS-45585 ]
          Sam Van Oort made changes -
          Link New: This issue duplicates JENKINS-45585 [ JENKINS-45585 ]
          Sam Van Oort made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]
          Sam Van Oort made changes -
          Component/s New: workflow-job-plugin [ 21716 ]
          Component/s Original: workflow-cps-plugin [ 21713 ]

            svanoort Sam Van Oort
            svanoort Sam Van Oort
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: