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

Master job of multiconfig project can be executed on hosts that are marked as "Leave this machine for tied jobs only"

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • matrix-project-plugin
    • None
    • hudson 1.337

      After update to 1.337 master jobs are sometimes executed on hosts marked as "Leave this machine for tied jobs only"

          [JENKINS-5076] Master job of multiconfig project can be executed on hosts that are marked as "Leave this machine for tied jobs only"

          tmak85 added a comment -

          This patch should fix the problem by ignoring all nodes which are in exclusive mode when selecting a node for the master job

          tmak85 added a comment - This patch should fix the problem by ignoring all nodes which are in exclusive mode when selecting a node for the master job

          vjuranek added a comment -

          A little bit improved patch for this issue (doesn't exclude master job from running on slave if the job is tied to this slave)

          vjuranek added a comment - A little bit improved patch for this issue (doesn't exclude master job from running on slave if the job is tied to this slave)

          tmak85 added a comment -

          The master job is not the same as the "real" jobs... it just controls their execution.
          In my case I don't want that the master job runs on such slaves.

          Any other opinions?

          tmak85 added a comment - The master job is not the same as the "real" jobs... it just controls their execution. In my case I don't want that the master job runs on such slaves. Any other opinions?

          Axel Heider added a comment -

          there is a tie-matrix-parent pluging that became available some time ago, see http://wiki.jenkins-ci.org/display/JENKINS/Matrix+Tie+Parent+Plugin Maybe it helps you until this geth solved.

          Axel Heider added a comment - there is a tie-matrix-parent pluging that became available some time ago, see http://wiki.jenkins-ci.org/display/JENKINS/Matrix+Tie+Parent+Plugin Maybe it helps you until this geth solved.

          bult added a comment -

          What are the critical consequences of this? For me it looks a bug with lowest priority. Master builds are not resource-intensive.

          bult added a comment - What are the critical consequences of this? For me it looks a bug with lowest priority. Master builds are not resource-intensive.

          samodelkin added a comment -

          Checkout or update is very resource-intensive. Avg. project size that we use with hudson is 3-4 MLOC. Update runs for about 10-15 minutes and is very resource and disk I/O-intensive. Also, checked out tree consumes a lot of disk space.

          samodelkin added a comment - Checkout or update is very resource-intensive. Avg. project size that we use with hudson is 3-4 MLOC. Update runs for about 10-15 minutes and is very resource and disk I/O-intensive. Also, checked out tree consumes a lot of disk space.

          housemaister added a comment -

          Additional if the host has no access to the repository checkout won't work at all and the build will fail.

          housemaister added a comment - Additional if the host has no access to the repository checkout won't work at all and the build will fail.

          Sami Tikka added a comment -

          My case exactly: We have a bunch of slaves that need to run in a very isolated part of the company network. Those slaves have no access to version control repositories. Whenever Hudson decides to spawn the parent build of a multiconfiguration build on one of those slaves, the checkout fails and the whole build fails.

          To some this might seem like a very convoluted use case. Shouldn't all slaves be equal? But why do slaves then have the option "Leave this machine for tied jobs only"?

          That option has been there for a long time and some users have been taking advantage of it in the past. Then an upgrade comes and suddenly the "Leave this machine for tied jobs only" doesn't work anymore. For those people this is not a low-priority bug.

          Sami Tikka added a comment - My case exactly: We have a bunch of slaves that need to run in a very isolated part of the company network. Those slaves have no access to version control repositories. Whenever Hudson decides to spawn the parent build of a multiconfiguration build on one of those slaves, the checkout fails and the whole build fails. To some this might seem like a very convoluted use case. Shouldn't all slaves be equal? But why do slaves then have the option "Leave this machine for tied jobs only"? That option has been there for a long time and some users have been taking advantage of it in the past. Then an upgrade comes and suddenly the "Leave this machine for tied jobs only" doesn't work anymore. For those people this is not a low-priority bug.

          bult added a comment -

          Thank you all for explanation.

          bult added a comment - Thank you all for explanation.

          vjuranek added a comment -

          Possible workaround (without recompiling Jenkins core) could be Exclude flyweight tasks (http://wiki.jenkins-ci.org/display/JENKINS/Exclude+flyweight+tasks)

          vjuranek added a comment - Possible workaround (without recompiling Jenkins core) could be Exclude flyweight tasks ( http://wiki.jenkins-ci.org/display/JENKINS/Exclude+flyweight+tasks )

          Chris Withers added a comment -

          Disappointing that this issue hasn't received much love in 2 years.

          Chris Withers added a comment - Disappointing that this issue hasn't received much love in 2 years.

          Our recently fixing JENKINS-7825 should help ease this issue somewhat.

          Trying to verify if this problem still exists.

          Kohsuke Kawaguchi added a comment - Our recently fixing JENKINS-7825 should help ease this issue somewhat. Trying to verify if this problem still exists.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy
          http://jenkins-ci.org/commit/jenkins/aff73d45454819349223bfb7a2df2f578035925d
          Log:
          [FIXED JENKINS-5076]

          Verified that JENKINS-5076 is no longer happening.

          Looking at the code, I think the actual fix was in a2d825769669dd8be68feeb80f7886728bd87eb9.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy http://jenkins-ci.org/commit/jenkins/aff73d45454819349223bfb7a2df2f578035925d Log: [FIXED JENKINS-5076] Verified that JENKINS-5076 is no longer happening. Looking at the code, I think the actual fix was in a2d825769669dd8be68feeb80f7886728bd87eb9.

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2643
          [FIXED JENKINS-5076] (Revision aff73d45454819349223bfb7a2df2f578035925d)

          Result = UNSTABLE
          kohsuke : aff73d45454819349223bfb7a2df2f578035925d
          Files :

          • test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy

          dogfood added a comment - Integrated in jenkins_main_trunk #2643 [FIXED JENKINS-5076] (Revision aff73d45454819349223bfb7a2df2f578035925d) Result = UNSTABLE kohsuke : aff73d45454819349223bfb7a2df2f578035925d Files : test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy

          Jacob Keller added a comment -

          This issue is still occurring, as long as you also have marked the master Jenkins node as "exclusive". The reasoning can be found in commit 55bf88329027 ("If every node is restricted to tied jobs only, Matrix build jobs can never start.", 2013-06-18)

          I believe this commit should be reverted, since it is definitely not what the user would expect of an exclusive node.

          Jacob Keller added a comment - This issue is still occurring, as long as you also have marked the master Jenkins node as "exclusive". The reasoning can be found in commit 55bf88329027 ("If every node is restricted to tied jobs only, Matrix build jobs can never start.", 2013-06-18) I believe this commit should be reverted, since it is definitely not what the user would expect of an exclusive node.

          Jacob Keller added a comment -

          Jacob Keller added a comment - See also https://issues.jenkins-ci.org/browse/JENKINS-23459

            Unassigned Unassigned
            samodelkin samodelkin
            Votes:
            9 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated: