• Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • remoting
    • None
    • jenkins running on a windows server 2008 system

      I have my master configured for 4 executors. It routinely runs more jobs than the number of executors and the jenkins web page shows the jobs running on a ghost executor. When I run a groovy script that calls the getOwner method, that fails and says it cannot determine who the owner is, which tells me that the owner really does seem like a ghost. I am running 1.535 jenkins. Please see the attached picture to illustrate what I am talking about.

          [JENKINS-20107] master using more executors than specified

          if you set the number of executors to 2 will it run more than 2 jobs? Is this only specific to setting to 4 executors?

          In your picture it has 5 executing jobs. the fifth one does not have a number assigned to it. others have the number 1,2,3,4 assigned.

          Is it always just an extra ghost job or can it be more? It is always happening?

          Can you run with 2 and see if any more ghosts appear?

          martin naughton added a comment - if you set the number of executors to 2 will it run more than 2 jobs? Is this only specific to setting to 4 executors? In your picture it has 5 executing jobs. the fifth one does not have a number assigned to it. others have the number 1,2,3,4 assigned. Is it always just an extra ghost job or can it be more? It is always happening? Can you run with 2 and see if any more ghosts appear?

          James Theisen added a comment -

          No matter how man executors I set, it would always have this ghosted extra item at the bottom with no number associated with it.

          With version 1.537 and higher I have seen this issue just go away. Before that it was always happening. It was always 1 ghost, no more. 1 ghost more than the number of executors you configured.

          I do notice that even thought the ghost has gone away, jenkins routinely uses executors higher in number, and not the first several. Not sure if this is something in the priority calculations for executors or what is going on. But at least the ghost has gone away.

          James Theisen added a comment - No matter how man executors I set, it would always have this ghosted extra item at the bottom with no number associated with it. With version 1.537 and higher I have seen this issue just go away. Before that it was always happening. It was always 1 ghost, no more. 1 ghost more than the number of executors you configured. I do notice that even thought the ghost has gone away, jenkins routinely uses executors higher in number, and not the first several. Not sure if this is something in the priority calculations for executors or what is going on. But at least the ghost has gone away.

          Ok so one ghost. Does the ghost mimic another another build currently running, a build going to run or a build that has run? Or is running a build on its own that will produce a build report.

          Say like in your picture is it build #11. Can you see the report for that build?

          Ghost are people that used to be there. that i am wondering about the mimicking.

          martin naughton added a comment - Ok so one ghost. Does the ghost mimic another another build currently running, a build going to run or a build that has run? Or is running a build on its own that will produce a build report. Say like in your picture is it build #11. Can you see the report for that build? Ghost are people that used to be there. that i am wondering about the mimicking.

          James Theisen added a comment -

          So ghost might not be the best description. It would operate just like a normal master executor. It would run builds, you could watch them run and see results for them. The only failure I saw out of this was I have a groovy script that monitors for hung builds and it would fail because I get the executor in that script to determine if it was a master or slave build. It would cause an exception because Jenkins saw no executor for the build.

          James Theisen added a comment - So ghost might not be the best description. It would operate just like a normal master executor. It would run builds, you could watch them run and see results for them. The only failure I saw out of this was I have a groovy script that monitors for hung builds and it would fail because I get the executor in that script to determine if it was a master or slave build. It would cause an exception because Jenkins saw no executor for the build.

          it is ok if we close this issue since the problem has gone away in the recent versions? We are at version 1.59 now. I found it very hard to reproduce this.

          martin naughton added a comment - it is ok if we close this issue since the problem has gone away in the recent versions? We are at version 1.59 now. I found it very hard to reproduce this.

          Daniel Beck added a comment - - edited

          The fifth executor is a so-called flyweight executor used to run Build Flow, Workflow, or Matrix parent jobs. This is a feature in Jenkins as executors are primarily limited for resource allocation reasons ("use as many as you have CPU cores"), and dynamically created, temporary flyweight executors are used for builds that have no intrinsic resource needs and just control other jobs.

          Daniel Beck added a comment - - edited The fifth executor is a so-called flyweight executor used to run Build Flow, Workflow, or Matrix parent jobs. This is a feature in Jenkins as executors are primarily limited for resource allocation reasons ("use as many as you have CPU cores"), and dynamically created, temporary flyweight executors are used for builds that have no intrinsic resource needs and just control other jobs.

          Pranav Gupta added a comment - - edited

          Hi,

          I have the same issue..
          Maximum number of executor is set to 4 but there are 8-10 jobs running on slave machine.
          Also, it happens with some of the machine while some of the machine have only 4 jobs whereas based on my understanding those jobs should be equally distributed to all slaves

          I triggered around 3000 jobs using groovy script

          Any reasoning behind this?

          Thanks,
          Pranav

          Pranav Gupta added a comment - - edited Hi, I have the same issue.. Maximum number of executor is set to 4 but there are 8-10 jobs running on slave machine. Also, it happens with some of the machine while some of the machine have only 4 jobs whereas based on my understanding those jobs should be equally distributed to all slaves I triggered around 3000 jobs using groovy script Any reasoning behind this? Thanks, Pranav

            martin_naughton martin naughton
            jatheisenii21 James Theisen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: