I have a matrix build which contains three slave labels. In the example below, they are (64&&solarisstudio&&solaris). The matrix builder cannot find a suitable node. It can find a suitable node if only two (any two) labels are used, but fails with three.

      Started by user anonymous
      Building on master
      Checkout:workspace / /var/lib/hudson/jobs/solaris/workspace - hudson.remoting.LocalChannel@158fa97
      Using strategy: Default
      Last Built Revision: Revision 3151e6760e9177d1f10eabc050453b93b241f45a (origin/master)
      Checkout:workspace / /var/lib/hudson/jobs/solaris/workspace - hudson.remoting.LocalChannel@158fa97
      GitAPI created
      Fetching changes from the remote Git repository
      Fetching upstream changes from git@git.kayasoft.com:$REPO
      [workspace] $ /opt/csw/bin/git fetch -t git@git.kayasoft.com:$REPO +refs/heads/:refs/remotes/origin/
      [workspace] $ /opt/csw/bin/git ls-tree HEAD
      [workspace] $ /opt/csw/bin/git rev-parse origin/master
      Commencing build of Revision 3151e6760e9177d1f10eabc050453b93b241f45a (origin/master)
      GitAPI created
      Checking out Revision 3151e6760e9177d1f10eabc050453b93b241f45a (origin/master)
      [workspace] $ /opt/csw/bin/git checkout -f 3151e6760e9177d1f10eabc050453b93b241f45a
      [workspace] $ /opt/csw/bin/git tag -a -f -m "Hudson Build #12" hudson-solaris-12
      Recording changes in branch origin/master
      [workspace] $ /opt/csw/bin/git whatchanged --no-abbrev -M --pretty=raw 3151e6760e9177d1f10eabc050453b93b241f45a..3151e6760e9177d1f10eabc050453b93b241f45a
      Triggering 64,solarisstudio,solaris,release
      Triggering 64,solarisstudio,solaris,debug
      Triggering 64,gcc,solaris,debug
      Triggering 32,solarisstudio,solaris,debug
      Triggering 32,gcc,solaris,release
      Triggering 64,gcc,solaris,release
      Triggering 32,solarisstudio,solaris,release
      Triggering 32,gcc,solaris,debug
      64,solarisstudio,solaris,release is still in the queue: All nodes of label '64&&solarisstudio&&solaris' are offline

          [JENKINS-8537] Node label queries fail when # labels > 2

          kayabek created issue -
          kayabek made changes -
          Priority Original: Major [ 3 ] New: Critical [ 2 ]
          Summary Original: Matrix build can't find nodes if # of slave labels > 2 New: Matrix build can't find nodes if # of slave axes > 2

          kayabek added a comment - - edited

          .

          kayabek added a comment - - edited .
          kayabek made changes -
          Component/s New: master-slave [ 15489 ]
          Summary Original: Matrix build can't find nodes if # of slave axes > 2 New: Node label queries fail when # labels > 2

          mfawcett added a comment -

          I'm having the same issue, but the bug isn't because of the
          multi-configuration, it's because the label filtering logic can't
          handle expressions such as:

          a && b && c

          You can verify this even in a "free-style software project" job. Just
          choose "Restrict where this project can be run" and enter in 3 valid
          labels, like windows && build && 32bit and it will say no node exists.
          Modify it so that it reads (windows && build) && 32bit and it will
          now run.

          The problem is, this workaround doesn't work for multi-configuration
          projects since we don't make the label expression, Hudson makes it based
          on the axes we define.

          mfawcett added a comment - I'm having the same issue, but the bug isn't because of the multi-configuration, it's because the label filtering logic can't handle expressions such as: a && b && c You can verify this even in a "free-style software project" job. Just choose "Restrict where this project can be run" and enter in 3 valid labels, like windows && build && 32bit and it will say no node exists. Modify it so that it reads (windows && build) && 32bit and it will now run. The problem is, this workaround doesn't work for multi-configuration projects since we don't make the label expression, Hudson makes it based on the axes we define.

          josephalevin added a comment -

          I've just run into this issues as well. Is anyone working on this issue? If not, could you point me in the direction of the relevant code handling the label expression creation?

          josephalevin added a comment - I've just run into this issues as well. Is anyone working on this issue? If not, could you point me in the direction of the relevant code handling the label expression creation?

          mjmac added a comment -

          Seeing this on 1.403 myself.

          mjmac added a comment - Seeing this on 1.403 myself.
          josephalevin made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          josephalevin made changes -
          Assignee New: josephalevin [ josephalevin ]

          josephalevin added a comment -

          I've submitted a pull request for this bug.

          https://github.com/jenkinsci/jenkins/pull/81

          josephalevin added a comment - I've submitted a pull request for this bug. https://github.com/jenkinsci/jenkins/pull/81

            josephalevin josephalevin
            kayabek kayabek
            Votes:
            6 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: