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

Build Executor number is not consistent with EXECUTOR_NUMBER

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • None
    • Centos7 on both master and slave. Jenkins 2.97.

      Build Executor display number is not consistent with the number is provided by EXECUTOR_NUMBER variable.
      Display number should always by EXECUTOR_NUMBER+1 but it randomly shows different values.

      When using 4-5 executors per node (master included) seemed to be easier to replicate but not 100%.

      It seems to only be an issue on the display side.
      When using EXECUTOR_NUMBER to separate folders of maven repository artifacts, to build in parallel, the value is very important to avoid "cross contamination".
      We also use this variable to avoid constant download artifacts on every build, by mounting /var/lib/jenkins/.m2/repository/EXECUTOR_NUMBER inside a container.

      Jenkinsfile:

      node('master') {
          stage('on master') {
              echo EXECUTOR_NUMBER
              sleep 30
              sh 'echo ${EXECUTOR_NUMBER}'
          }
      }
      
      node('docker') {
          stage('on slave') {
              echo EXECUTOR_NUMBER
              sleep 30
              sh 'echo ${EXECUTOR_NUMBER}'
          }
      }
      

      Not sure if there is some way to get the Build Executor display number, so to compare, I took a screenshot from the nodes page, during the build.

          [JENKINS-48882] Build Executor number is not consistent with EXECUTOR_NUMBER

          Nuno Costa created issue -
          Nuno Costa made changes -
          Description Original: Build Executor display number is not consistent with the number is provided by EXECUTOR_NUMBER variable.
          Display number should always by EXECUTOR_NUMBER+1 but it randomly shows different values.

          When using 4-5 executors per node (master included) seemed to be easier to replicate but not 100%.

          It seems to only be an issue on the display side.
          When using EXECUTOR_NUMBER to separate folders of maven repository artifacts, to build in parallel, the value is very important to avoid "cross contamination".
          We also use this variable to avoid constant download artifacts on every build, by mounting /var/lib/jenkins/.m2/repository/EXECUTOR_NUMBER inside a container.

          Jenkinsfile:
          {code:java}
          node('master') {
              stage('on master') {
                  echo EXECUTOR_NUMBER
                  sleep 30
                  sh 'echo ${EXECUTOR_NUMBER}'
              }
          }

          node('docker') {
              stage('on slave') {
                  echo EXECUTOR_NUMBER
                  sleep 30
                  sh 'echo ${EXECUTOR_NUMBER}'
              }
          }
          {code}

          Not sure if there is some way to get the Build Executor display number, so to compare, I took a screenshot from the nodes page, during the build.
          New: Build Executor display number is not consistent with the number is provided by {{EXECUTOR_NUMBER}} variable.
           Display number should always by {{EXECUTOR_NUMBER}}+1 but it randomly shows different values.

          When using 4-5 executors per node (master included) seemed to be easier to replicate but not 100%.

          It seems to only be an issue on the display side.
           When using {{EXECUTOR_NUMBER}} to *separate* folders of maven repository artifacts, to build in parallel, *the value is very important* to avoid "cross contamination".
           We also use this variable to *avoid* *constant* download artifacts on every build, by mounting {{/var/lib/jenkins/.m2/repository/EXECUTOR_NUMBER}} inside a container.

          Jenkinsfile:
          {code:java}
          node('master') {
              stage('on master') {
                  echo EXECUTOR_NUMBER
                  sleep 30
                  sh 'echo ${EXECUTOR_NUMBER}'
              }
          }

          node('docker') {
              stage('on slave') {
                  echo EXECUTOR_NUMBER
                  sleep 30
                  sh 'echo ${EXECUTOR_NUMBER}'
              }
          }
          {code}
          Not sure if there is some way to get the Build Executor display number, so to compare, I took a screenshot from the nodes page, during the build.
          Andrew Bayer made changes -
          Component/s New: workflow-durable-task-step-plugin [ 21715 ]
          Component/s Original: pipeline [ 21692 ]
          Karl Wirth made changes -
          Priority Original: Minor [ 4 ] New: Blocker [ 1 ]
          Karl Wirth made changes -
          Link New: This issue is related to JENKINS-60213 [ JENKINS-60213 ]

            Unassigned Unassigned
            ncosta Nuno Costa
            Votes:
            4 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: