I find a couple places where QB is not behaving as I expected. Can you help me understand?
We want to run concurrent jobs of the same configuration (on-demand builds requested by users with shelved changes). I know that QB locks the workspace so this cannot happen, so we have modified our workspace definition to include a unique subdirectory. (Our workspaces are on a network drive, so all agents share the same workspace within a job).
So, for our configuration root/test/with-shelf, the build runs in folder /nfs-drive/root/test/with-shelf/shelf-number. I expect this to mean that no matter how many builds we trigger, each will get its own workspace and can therefore run independently. However, in spite of this, each job waits for the next to finish before proceeding.
We discovered quite accidentally that, if we run the master step on "any linux node" instead of "on qb server", the problem is resolved. (However, this introduces a new problem, which I will raise in another thread). In fact, it seems that concurrent jobs can share the same workspace as long as the master steps run on different agents, potentially causing collision. This is not the behavior that I was expecting.
What is going on here?