It's all about the answers!

Ask a question

SCM load workspace fails when running concurrent processes


frank malin (3287) | 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.5k480103) | 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.5k480103) | 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.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.