nested 'node' step always jumps to a new node unnecessarily

XMLWordPrintable

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major
    • Component/s: pipeline
    • None
    • Environment:
      Jenkins 2.332.3
      Plugins are as recent as possible

      We have some labels assigned to various nodes and we run certain things in a relatively complex build process involving a shared Jenkins library. There it happens quite often that the pipeline has multiple nested 'node' steps running with exactly the same labels.

      node('mylabel') {
         for (int i = 0; i < 1000; i++) {
            node('mylabel') {
               sleep(10)
            }
         }
      }
      

      Jenkins ends up switching the node all the time, causing quite a bit of lock contention on the Queue processing. In this case the node step should have some kind of a mechanism to know that it is already on a suitable node and no node switch is required.

      Imagine this scenario with a 100 jobs with around 20 parallel stages each, the builds grind to a halt. This should be more scalable.

            Assignee:
            Unassigned
            Reporter:
            Edgars Batna
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: