It's all about the answers!

Ask a question

java.net.SocketTimeoutException using BF Agent (7x) with RTC (3x)


Andy Jewell (24225468) | asked Apr 26 '13, 7:29 p.m.
edited Apr 29 '13, 12:19 p.m.
Hi, first time caller!  I am just getting my fingers around some of these new concepts in RTC and BuildForge.

Here's the scenario:

1.  I have a build agent that works fine from Build Forge doing a helloworld type of test.
2.  When I try to create a build engine for that BF server, I get this error:
Testing, please wait...
Result:  Failed.  A com.buildforge.services.common.api.ProtocolException exception occurred testing the connection.  Verify the user id and password specified and retry.  The logs should have more detailed information about the exception.
Message[uuid=null, timestamp=1367014467, userUuid=, processId=0, severity=ERROR, type=, componentUuid=null, messageKey=APIProtoCorrupted, indirectionMask=0, args={}]
3. I setup a BF Agent Build Engine using the same agent and it fetches the code just fine but it seems to suddenly lose connection to somewhere and cannot find the instructions.  The "Full Build Log" says:
2013-04-26 14:34:39 [Jazz build engine] running on host: buildserver
2013-04-26 14:34:39 [Jazz build engine] Should build occur?
2013-04-26 14:34:39 [Jazz build engine] Yes: Always build a user initiated request.
2013-04-26 14:34:39 [Jazz build engine] Invoking pre-build participant "com.ibm.team.build.jazzscm"
2013-04-26 14:34:39 [Jazz build engine] Accepting changes into workspace "TPL Build Workspace 2" ...
2013-04-26 14:34:40 [Jazz build engine] Fetching files to fetch destination "/users/bforge/build/tpl" ...
2013-04-26 14:34:43 [Jazz build engine] CRRTC3507W: Warning: An engine participant was not found for the build configuration element "Build Command Line". For more details, open the help system and search for CRRTC3507W.
2013-04-26 14:34:43 [Jazz build engine] CRRTC3507W: Warning: An engine participant was not found for the build configuration element "Rational Build Agent Element". For more details, open the help system and search for CRRTC3507W.
But the "Build Agent Service Log" says:
Found a user request for build definition CMDB Dev BFA Ant build
Substituted the following build property variables:
Substituted the following configuration element property variables:
Should build occur?
Yes: Always build a user initiated request.
java.lang.Exception: java.net.SocketTimeoutException: A potential cause is that the read timed out.  The 'readTimeout' property can be set (if not already set) on the build definition or engine to adjust the read timeout.
This is a JBE log but again note that it is from a BF Agent Engine.  See this article about passing JBE parameters through the BF Agent setup.  It seems part of the log ("Build Agent Service Log") may be referring to results from the BF Agent while the other log is from the JBE itself ("Full Build Log").
	

4.  I set up a Jazz Build Engine in a different workspace (same stream) using the same build instructions (it's an ant build) and it works.

In summary, my problems:

1.  I can't get Build Forge attached to my RTC
2.  I can't get the build to complete using the agent build as it completes with JBE

Any thoughts??

Andy

2 answers



permanent link
Spencer Murata (2.3k115970) | answered Apr 29 '13, 8:24 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
The protocol error is usually an auth problem, so verify that the user/password is a valid BF user.  Also make sure that the user is a dedicated RTC user and no one else is trying to use that user.

The log for bullet three is a JBE log, not a BF agent log.  The readtime out can be adjusted for JBE if that is what you are using.  Especially if you are pulling in big sets of data from Jazz SCM.  If you are looking to use the BFA, then you need to make sure you have a BFA engine defined and a build definition with the BFA participant and BFA engine associated to that definition.

~Spencer

Comments
Andy Jewell commented Apr 29 '13, 12:27 p.m.

Thanks, Spencer!  Regarding JBE log vs BF agent log, I updated my post.  It is a BF agent running JBE, per your article (ref above).  


The RTC connection is apparently working because it extracts the code and it's resident on the build server (see "Full Build Log").  But if the socketconnection error usually indicates a log in issue, maybe the BF Agent is trying to contact the actual BF server??  Or maybe there is some conflict happening as JBE tries to get the code using its BF Agent nature and get the instructions using its standalone JBE nature.. . ?  What would you think it's trying to contact when it gets the socketconnection error?


Andy Jewell commented Apr 29 '13, 12:28 p.m.

 Hmm. . . your comment about a dedicated user just sunk in.  This was not a dedicate RTC user so let me try that and will post back.


permanent link
Andy Jewell (24225468) | answered Jul 10 '13, 7:50 p.m.
Sorry so long in not getting back to this.  I was having trouble with my access to Jazz.net and it would not let me comment on posts.

For item #2, above, the problem was we were using the wrong port to the Build Forge server.

Having resolved that, I am no longer trying to call the BF agent directly.  It's cleaner for me to call BF and use the Jazz adapter for the pre-build source code extraction.  I have another problem with that one but will post it separately.

Your answer


Register or to post your answer.