Details
-
Type:
Improvement
-
Status: Resolved (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: core
-
Labels:
-
Similar Issues:
Description
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.
Attachments
Issue Links
- depends on
-
JENKINS-34450 Deadlock between Executor and AsynchronousExecution
-
- Open
-
- is blocking
-
JENKINS-28182 Revisit use of $JENKINS_SERVER_COOKIE and Launcher.kill
-
- Resolved
-
- is duplicated by
-
JENKINS-26098 Asynch Queue.Executable
-
- Resolved
-
- is related to
-
JENKINS-22941 Way to mark an Executable that should not block isReadyToRestart
-
- Resolved
-
-
JENKINS-26900 Hide flyweight master executor when ≥1 heavyweight executors running as subtasks
-
- Resolved
-
- links to
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-25938Starting to use AsynchronousExecutable.Originally-Committed-As: ee2ca390e73004b411e133c1832b88e977b47f28