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

          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.

          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

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: changelog.html http://jenkins-ci.org/commit/jenkins/46dc6850edb1d7ef52592794b15e69db7dfbed1a Log: Noting merges JENKINS-15355 JENKINS-21618 JENKINS-22941 JENKINS-25938 JENKINS-26391 JENKINS-26900 JENKINS-27476 JENKINS-27563 JENKINS-27564 JENKINS-27565 JENKINS-27566 Fixing link text for JENKINS-6167

          Code changed in jenkins
          User: Jesse Glick
          Path:
          aggregator/src/test/java/org/jenkinsci/plugins/workflow/WorkflowTest.java
          job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
          support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java
          http://jenkins-ci.org/commit/workflow-plugin/ee2ca390e73004b411e133c1832b88e977b47f28
          Log:
          JENKINS-25938 Starting to use AsynchronousExecutable.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: aggregator/src/test/java/org/jenkinsci/plugins/workflow/WorkflowTest.java job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java http://jenkins-ci.org/commit/workflow-plugin/ee2ca390e73004b411e133c1832b88e977b47f28 Log: JENKINS-25938 Starting to use AsynchronousExecutable.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          aggregator/src/test/java/org/jenkinsci/plugins/workflow/WorkflowTest.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/89032eb815863a7008a21ad6d545e33eb77160cc
          Log:
          JENKINS-25938 Starting to use AsynchronousExecutable.
          Originally-Committed-As: ee2ca390e73004b411e133c1832b88e977b47f28

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: aggregator/src/test/java/org/jenkinsci/plugins/workflow/WorkflowTest.java http://jenkins-ci.org/commit/workflow-cps-plugin/89032eb815863a7008a21ad6d545e33eb77160cc Log: JENKINS-25938 Starting to use AsynchronousExecutable. Originally-Committed-As: ee2ca390e73004b411e133c1832b88e977b47f28

          Code changed in jenkins
          User: Jesse Glick
          Path:
          job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
          http://jenkins-ci.org/commit/workflow-job-plugin/149188bc42f2cab01ea9efc54774dfdfb213f068
          Log:
          JENKINS-25938 Starting to use AsynchronousExecutable.
          Originally-Committed-As: ee2ca390e73004b411e133c1832b88e977b47f28

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java http://jenkins-ci.org/commit/workflow-job-plugin/149188bc42f2cab01ea9efc54774dfdfb213f068 Log: JENKINS-25938 Starting to use AsynchronousExecutable. Originally-Committed-As: ee2ca390e73004b411e133c1832b88e977b47f28

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

              Created:
              Updated:
              Resolved: