-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Platform: All, OS: Windows XP
If I create slaves that only have 1 executor and all of them are required for a
matrix project, then when the build is started it will deadlock because the
matrix job is already running on one of the slaves.
Configuration (in a clean hudson setup):
Two slaves
- WS1
Executor = 1
Remote FS root = c:\temp\hudson1 - WS2
Executor = 1
Remote FS root = c:\temp\hudson2
1 Matrix project
- Build on multiple nodes
Individual nodes = WS1, WS2 - Batch command = "dir"
This is what happens:
1. Hudson adds matrix job to the queue
2. Matrix build is started on WS1
3. Matrix build adds batch job to WS1
4. Matrix build adds batch job to WS2
5. Batch job on WS2 completes
6. Batch job queued on WS1 will never run because the matrix build is already
using the only executor on WS1.
I noticed this when I started testing matrix builds. At work we can only have
one executor per machine, so it is an odd setup and perhaps this issue can be
ignored.
A work around is to set the slaves to "Leave this machine for tied jobs only".
It would be nice with an option to set the machine where the matrix job is
executed on.
- duplicates
-
JENKINS-936 Matrix parent build shouldn't consume an executor.
- Closed