It's all about the answers!

Ask a question

SCM load workspace fails when running concurrent processes


frank malin (3277) | asked May 06 '15, 2:26 p.m.
I am using the scm commands (RTC 5.0.2) to create a workspace for a personal build from a build process. That build process is relatively small, so I partitioned one of my build machine to run multiple build engines. When running the code to create the workspace with 3 build engines active, I get about 1 in 5 builds failing with an error:

     [exec] + /opt/IBM/jazz/scm/scm login -u roadrunner@acme.com -P W1ldEIOT -r https://172.16.40.161:8043/jazz -n rh-sml-be3_process-172.16.40.199
\     [exec] Logged in to https://172.16.40.161:8043/jazz
     [exec] + /opt/IBM/jazz/scm/scm create workspace -s _HHESwLErEeSAz9_q0ONxMg -r rh-sml-be3_process-172.16.40.199 Temporary-BuildManager-_HHESwLErEeSAz9_q0ONxMg-rh-sml-be3_process-172.16.40.199
     [exec] Problem running 'create workspace':
     [exec] Invalid repository URI: rh-sml-be3_process-172.16.40.199. Try 'scm help create workspace' for more information.
     [exec] + rc=1

Here are the scenarios which I have run:
1) Single build engines : 18 builds run successful
2) 3 build engines active, 12 builds submitted: 2 builds failed, 10 successful
3) Write process lock code so only single scm runs on the build machine, 3 engine active: 12 builds, all successful

Is there something that I am missing to make the scm access process safe? I am using the same user for all the processes, I am not using the lscm (since I had thought that could cause potential problems). I had been using the same "nickname" for the repository, but have since change that to be build engine unique.

My assumption would be that somewhere within the .jazz-scm a problem occurs. (i have no data just speculation), is there some way which you can specify the .jazz-scm location

Here is the error from another run:
     [exec] Problem running 'create workspace':
     [exec] Invalid repository URI: rh-sml-be1_process-172.16.40.199. Try 'scm help create workspace' for more information.
     [exec] + rc=1

It would appear that the source of the problem is that the "nickname" is not being found. I've not tried using the user and password on each of the calls.


2 answers



permanent link
Krzysztof Ka┼║mierczyk (7.4k35098) | answered May 06 '15, 3:06 p.m.
Hi Frank,
It is generally not recommended to run multiple build engines on one machine see https://jazz.net/forum/questions/126044/rtc-build-server-recommendations and https://jazz.net/wiki/bin/view/Main/BuildFAQ#Can_multiple_Jazz_Build_Engine_J. Anyway it should work.

It seems to be a potential bug. Do you know at what stage are another build engine (what exactly scm command is executed at the same time)? In order to create a defect we need reproducible scenario.

Comments
frank malin commented May 06 '15, 3:21 p.m. | edited May 06 '15, 4:47 p.m.

I've change the script to really only perform these 3 command.

$scmpath/scm login -u $userId -P $buildpass -r $repositoryAddress -n $buildEngineId
$scmpath/scm create workspace -s "$stream" -r $buildEngineId "$workspace"
rc=$?
$scmpath/scm workspace propertylist --json -r $buildEngineId "$workspace"

I assume that this could be reproduced from the command line vs a build engine.


permanent link
Krzysztof Ka┼║mierczyk (7.4k35098) | answered May 06 '15, 4:48 p.m.
Hi Frank,
Please open a new PMR to investigate this issue.

Your answer


Register or to post your answer.