We have a custom plugin which adds the notion of a "staged" pipeline to Jenkins which we are trying to contribute to Jenkins. Fixing this
      defect is the first step in that process. The plugin adds the concept of "controller" and "component" jobs for each stage in the pipeline. One thing we put in was a QueueTaskDispatcher to logically tie the jobs that make up a stage together. We wanted to make it so that while some build was running in a given stage in the pipeline no other build would enter that stage. We did this, and found that our QueueTaskDispatcher and the one implemented in the dependency-queue-plugin are incompatible with each other. In many cases our builds ended up deadlocked in the queue. Unfortunately, many of the plugins we use have a dependency on the dependency-queue-plugin so we could not remove it. We needed a way to disable the plugin.

      A while back we created a customized version of the dependency-queue-plugin that allows jobs to disable the behavior. The default is to have things continue to work as they have done in the past, but now an option "Block if upstream jobs are queued" that can be optionally deselected to disable this behavior.

      We would like to get that code back into Jenkins so that everyone can benefit from it.

          [JENKINS-32189] dependency-queue-plugin cannot be disabled

          Jeffrey Hagelberg created issue -
          Jeffrey Hagelberg made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Jeffrey Hagelberg made changes -
          Description Original: We have a custom plugin which adds the notion of a "staged" pipeline to Jenkins which we are trying to contribute to Jenkins. Fixing this
          defect is the first step in that process. The plugin adds the concept of "controller" and "component" jobs for each stage in the pipeline. One thing we put in was a QueueTaskDispatcher to logically tie the jobs that make up a stage together. We wanted to make it so that while, for example, some build was running in stage a given stage of the our pipline no other build would enter that stage. We did this, and found that our QueueTaskDispatcher and the one implemented in the dependency-queue-plugin are incompatible with each other. In many cases our builds ended up deadlocked in the queue. Unfortunately, many of the plugins we use have a dependency on the dependency-queue-plugin so we could not remove it. We needed a way to disable the plugin.

          A while back we created a customized version of the dependency-queue-plugin that allows jobs to disable the behavior. The default is to have things continue to work as they have done in the past, but now an option "Block if upstream jobs are queued" that can be optionally deselected to disable this behavior.

          We would like to get that code back into Jenkins so that everyone can benefit from it.
          New: We have a custom plugin which adds the notion of a "staged" pipeline to Jenkins which we are trying to contribute to Jenkins. Fixing this
          defect is the first step in that process. The plugin adds the concept of "controller" and "component" jobs for each stage in the pipeline. One thing we put in was a QueueTaskDispatcher to logically tie the jobs that make up a stage together. We wanted to make it so that while some build was running in a given stage in the pipeline no other build would enter that stage. We did this, and found that our QueueTaskDispatcher and the one implemented in the dependency-queue-plugin are incompatible with each other. In many cases our builds ended up deadlocked in the queue. Unfortunately, many of the plugins we use have a dependency on the dependency-queue-plugin so we could not remove it. We needed a way to disable the plugin.

          A while back we created a customized version of the dependency-queue-plugin that allows jobs to disable the behavior. The default is to have things continue to work as they have done in the past, but now an option "Block if upstream jobs are queued" that can be optionally deselected to disable this behavior.

          We would like to get that code back into Jenkins so that everyone can benefit from it.

          Jeffrey Hagelberg added a comment - Created pull request https://github.com/jenkinsci/dependency-queue-plugin/pull/1
          Larry Shatzer, Jr. made changes -
          Link New: This issue duplicates JENKINS-30998 [ JENKINS-30998 ]

          Merged in, along with a change to update version it depends on to a more recent LTS version, as well as switching from deprecated usage. Will release soon

          Larry Shatzer, Jr. added a comment - Merged in, along with a change to update version it depends on to a more recent LTS version, as well as switching from deprecated usage. Will release soon
          Larry Shatzer, Jr. made changes -
          Assignee Original: Jeffrey Hagelberg [ jnhagelberg ] New: Larry Shatzer, Jr. [ lshatzer ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 167764 ] New: JNJira + In-Review [ 185666 ]

            lshatzer Larry Shatzer, Jr.
            jnhagelberg Jeffrey Hagelberg
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: