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
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue is duplicated by |
Link |
This issue is related to |
Link |
This issue is related to |
Assignee | Jesse Glick [ jglick ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Remote Link | This issue links to "PR 1610 (Web Link)" [ 12169 ] |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Labels | api executor performance threads workflow | api executor lts-candidate performance threads workflow |
Link |
This issue is blocking |
Labels | api executor lts-candidate performance threads workflow | api executor performance threads workflow |
Link | This issue depends on JENKINS-34450 [ JENKINS-34450 ] |
Workflow | JNJira [ 159926 ] | JNJira + In-Review [ 196248 ] |
Labels | api executor performance threads workflow | api executor performance pipeline threads workflow |
Labels | api executor performance pipeline threads workflow | api executor performance pipeline threads |
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-25938Introduced AsynchronousExecutable.