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

Multi-Project Throttle Categories don't work with Matrix jobs

    XMLWordPrintable

Details

    Description

      I've set up two Multi-Project Throttle Categories, filesystem and postgres, both with maximum total concurrent builds of 0 and maximum concurrent builds per node of 1.

      This is because only one job that uses these categories can run on a host at once, if two try, they'll stomp all over each other.

      So, I've configured two jobs, both matrix jobs, and both configured with "Throttle Concurrent Builds" checked, "throttle this projects as part of one or more catogories" checked and both the categories defined above checked.

      However, when a node has more than one executor, I'll frequently see multiple configurations from the matrix being run on the same node at the same time. Sure enough, they stomp all over each other.

      Attachments

        Issue Links

          Activity

            cjw296 Chris Withers added a comment -

            No, that sounds entirely unrelated. Please file a separate issue for that.

            cjw296 Chris Withers added a comment - No, that sounds entirely unrelated. Please file a separate issue for that.
            oleg_nenashev Oleg Nenashev added a comment -

            I'd say that the issue completely duplicates JENKINS-13619.

            BTW, I've started working on the configurable behavior for Matrix projects. It should resolve both issues.

            oleg_nenashev Oleg Nenashev added a comment - I'd say that the issue completely duplicates JENKINS-13619 . BTW, I've started working on the configurable behavior for Matrix projects. It should resolve both issues.

            Hi,
            we have another issue with matrix and throttle-concurrents, I cannot say if it is related to this.

            We have 4 executors on a node and 2 matrix projects using them. Each matrix project spawns 4 jobs. Jobs from the same matrix project can run in parallel on the same node but they conflict with jobs from other projects. So we configured the two jobs with the same category and specified to run 1 job per node. Unfortunately jobs from different projects in the same category are spawned to the same node.
            We would expect to have 4 jobs from the same project... or at least 1 job from a single project and 3 free executors, not mixed project jobs.

            We did the following:

            Global configuration:
            Category Name: mock

            • Maximum Total Concurrent Builds: 0
            • Maximum Concurrent Builds Per Node: 1

            Job configurations:
            Throttle Concurrent Builds => checked
            Throttle this project as part of one or more categories => selected

            • Maximum Total Concurrent Builds: 0
            • Maximum Concurrent Builds Per Node: 1
            • Multi-Project Throttle Category: mock

            We also tried to specify the per-node global conf without any help. We also tried to set the limit for the master node (which is used as the main executor for the matrix jobs). No luck.

            Note the same configuration with other non-matrix projects works fine.

            Jenkins version: 1.559
            Throttle Concurrent Builds Plug-in version: 1.8.2

            Should I open another issue for this problem?

            andrea_curtoni Andrea Curtoni added a comment - Hi, we have another issue with matrix and throttle-concurrents, I cannot say if it is related to this. We have 4 executors on a node and 2 matrix projects using them. Each matrix project spawns 4 jobs. Jobs from the same matrix project can run in parallel on the same node but they conflict with jobs from other projects. So we configured the two jobs with the same category and specified to run 1 job per node. Unfortunately jobs from different projects in the same category are spawned to the same node. We would expect to have 4 jobs from the same project... or at least 1 job from a single project and 3 free executors, not mixed project jobs. We did the following: Global configuration: Category Name: mock Maximum Total Concurrent Builds: 0 Maximum Concurrent Builds Per Node: 1 Job configurations: Throttle Concurrent Builds => checked Throttle this project as part of one or more categories => selected Maximum Total Concurrent Builds: 0 Maximum Concurrent Builds Per Node: 1 Multi-Project Throttle Category: mock We also tried to specify the per-node global conf without any help. We also tried to set the limit for the master node (which is used as the main executor for the matrix jobs). No luck. Note the same configuration with other non-matrix projects works fine. Jenkins version: 1.559 Throttle Concurrent Builds Plug-in version: 1.8.2 Should I open another issue for this problem?
            oleg_nenashev Oleg Nenashev added a comment -

            @Andrea
            This is a similar issue.
            I'll provide a Dev Build of the plugin in JENKINS-13619

            oleg_nenashev Oleg Nenashev added a comment - @Andrea This is a similar issue. I'll provide a Dev Build of the plugin in JENKINS-13619
            oleg_nenashev Oleg Nenashev added a comment -

            Marking as duplicate.
            Let's track the further activity in JENKINS-13619

            oleg_nenashev Oleg Nenashev added a comment - Marking as duplicate. Let's track the further activity in JENKINS-13619

            People

              oleg_nenashev Oleg Nenashev
              cjw296 Chris Withers
              Votes:
              12 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: