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

ThrottleComputationQueueTaskDispatcher has a race condition and allows multiple tasks to start above limit

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Because the queue processes all tasks at once, the ThrottleComputationQueueTaskDispatcher's current implementation of checking what is currently executing misses out on what is currently being scheduled and so as a result you can get more than the limit of 5 processing from scheduled to executing at the same time and then the CPU resources are starved serving potentially 100's of concurrent indexing jobs.

        Attachments

          Issue Links

            Activity

            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/com/cloudbees/hudson/plugins/folder/computed/ThrottleComputationQueueTaskDispatcher.java
            http://jenkins-ci.org/commit/cloudbees-folder-plugin/b8b07c1ce3d5068b5273fca26d73ec181ed792c9
            Log:
            [FIXED JENKINS-47438] Keep track of recent approvals to prevent race conditions

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/com/cloudbees/hudson/plugins/folder/computed/ThrottleComputationQueueTaskDispatcher.java http://jenkins-ci.org/commit/cloudbees-folder-plugin/b8b07c1ce3d5068b5273fca26d73ec181ed792c9 Log: [FIXED JENKINS-47438] Keep track of recent approvals to prevent race conditions

              People

              • Assignee:
                stephenconnolly Stephen Connolly
                Reporter:
                stephenconnolly Stephen Connolly
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: