-
Improvement
-
Resolution: Unresolved
-
Minor
There is an issue with the Build Blocker Plugin and jobs chained together by the Parameterized Trigger Plugin, but is potentially easy to resolve...
Issue:
Three jobs configured to kick off the next one when it is finished.
Job 1 -> Job 2 -> Job 3
I want to block Job 1 if Job 2 or Job 3 is queued or running. This will ensure that the above pipeline does not start again until a previous one finishes.
A race condition currently exists which makes this impossible to implement:
1. Job 1 runs.
2. Job 1 finishes, Job 2 queued.
3. Job 2 runs.
4. Job 1 queues up, but is blocked.
5. Job 2 finishes, Job 3 queued.
6. Job 1 runs before Job 3.
I do not know the code, but at the time that a blocking job finishes, it would be nice if the Build Blocker Plugin could delay its decision whether to run or not. This would allow Job 3 to get queued, and would stop Job 1 from running until the entire pipeline is finished.