Currently WorkflowRun.waitForCompletion spins on a thread just so it can hold a (flyweight) Executor open. Similarly, ExecutorStepExecution.PlaceholderTask spins just to hold a (heavyweight) Executor open. These are wasteful. There should be an optional Task or Executable interface that can run asynchronously, without literally consuming a native Thread for each one.

          [JENKINS-25938] Lock an Executor without creating a Thread

          Jesse Glick created issue -
          Jesse Glick made changes -
          Link New: This issue is duplicated by JENKINS-26098 [ JENKINS-26098 ]
          Jesse Glick made changes -
          Link New: This issue is related to JENKINS-26900 [ JENKINS-26900 ]
          Jesse Glick made changes -
          Link New: This issue is related to JENKINS-22941 [ JENKINS-22941 ]
          Jesse Glick made changes -
          Assignee New: Jesse Glick [ jglick ]
          Jesse Glick made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Jesse Glick made changes -
          Remote Link New: This issue links to "PR 1610 (Web Link)" [ 12169 ]

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/java/hudson/model/AbstractBuild.java
          core/src/main/java/hudson/model/Computer.java
          core/src/main/java/hudson/model/Executor.java
          core/src/main/java/hudson/model/OneOffExecutor.java
          core/src/main/java/hudson/model/Queue.java
          core/src/main/java/hudson/model/ResourceController.java
          core/src/main/java/hudson/model/queue/WorkUnitContext.java
          core/src/main/java/jenkins/model/queue/Executable2.java
          http://jenkins-ci.org/commit/jenkins/46a900f4cb468853c5dca844d258b5b862c3a8bf
          Log:
          JENKINS-25938 Introduced AsynchronousExecutable.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/model/AbstractBuild.java core/src/main/java/hudson/model/Computer.java core/src/main/java/hudson/model/Executor.java core/src/main/java/hudson/model/OneOffExecutor.java core/src/main/java/hudson/model/Queue.java core/src/main/java/hudson/model/ResourceController.java core/src/main/java/hudson/model/queue/WorkUnitContext.java core/src/main/java/jenkins/model/queue/Executable2.java http://jenkins-ci.org/commit/jenkins/46a900f4cb468853c5dca844d258b5b862c3a8bf Log: JENKINS-25938 Introduced AsynchronousExecutable.
          Jesse Glick made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]

          dogfood added a comment -

          Integrated in jenkins_main_trunk #4029
          JENKINS-25938 Introduced AsynchronousExecutable. (Revision 46a900f4cb468853c5dca844d258b5b862c3a8bf)

          Result = SUCCESS
          jesse glick : 46a900f4cb468853c5dca844d258b5b862c3a8bf
          Files :

          • core/src/main/java/hudson/model/OneOffExecutor.java
          • core/src/main/java/hudson/model/Queue.java
          • core/src/main/java/hudson/model/Executor.java
          • core/src/main/java/hudson/model/AbstractBuild.java
          • core/src/main/java/hudson/model/Computer.java
          • core/src/main/java/jenkins/model/queue/Executable2.java
          • core/src/main/java/hudson/model/ResourceController.java
          • core/src/main/java/hudson/model/queue/WorkUnitContext.java

          dogfood added a comment - Integrated in jenkins_main_trunk #4029 JENKINS-25938 Introduced AsynchronousExecutable. (Revision 46a900f4cb468853c5dca844d258b5b862c3a8bf) Result = SUCCESS jesse glick : 46a900f4cb468853c5dca844d258b5b862c3a8bf Files : core/src/main/java/hudson/model/OneOffExecutor.java core/src/main/java/hudson/model/Queue.java core/src/main/java/hudson/model/Executor.java core/src/main/java/hudson/model/AbstractBuild.java core/src/main/java/hudson/model/Computer.java core/src/main/java/jenkins/model/queue/Executable2.java core/src/main/java/hudson/model/ResourceController.java core/src/main/java/hudson/model/queue/WorkUnitContext.java

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: