It's all about the answers!

Ask a question

Socket Timeout Exception


Peter Turvey (99130) | asked Jan 28 '19, 5:23 a.m.

I am trying to copy components from one RTC server to another.

I have created a repository workspace that flows from the stream on the old server and during the creation pick the option to “Use another repository” = ‘myuser@new_server’.

Then I can flow the content from the old server into the new.

This works fine for small amounts of data but when I attempt to copy larger components I get a Socket Timeout Exception:

The message displayed in the Eclipse client look like this :

Message from new_server : Requesting ….for round 3 from http ://old_server
Message from new_server : Requesting ….for round 4 from http ://old_server
Message from new_server : Requesting ….for round 5 from http ://old_server

Then after five minutes or so it fails.
Problems occurred running creating ‘name of workspace’.
Reason: CRJAZ0099E an HTTP error occurred when this URL was being accessed: /ccm/service/com.ibm.team.scm.common.IscmService. Error details: java.net.SocketTimeoutException.

Does anyone have any idea how I can overcome this problem ?

Thanks
              Peter

Accepted answer


permanent link
Don Yang (7.7k21109138) | answered Jan 29 '19, 1:20 a.m.
edited Jan 29 '19, 1:21 a.m.
Hi, Peter

Not sure if you have checked this technote:

(in the newer version, default connection time out is 300s(5 mins))
Peter Turvey selected this answer as the correct answer

Comments
Peter Turvey commented Jan 29 '19, 4:26 a.m.

Thanks for that. Looks like it could well be the problem. I will give it a go.
I am using Eclipse client v6.0.2 which has two repository connections : first one is to the old RTC server and second connection is to the new RTC server.
In both cases I am using the default of 300 seconds.
I'll let you know how I get on.

One other answer



permanent link
creig atmi (11) | answered Aug 30 '21, 2:20 a.m.

 You can effectively handle it by define a connection timeout and later handle it by using a try-catch block. From the client side you can use the following method and set the timeout parameter:

 
clientSocket.connect(SocketAddress,timeout)

From the server side you can use the following method and set the timeout parameter:
 
serverSocket.setSoTimeout(timeout)

Also, if you are a programmer, you can surround the socket connection part of your code in a java try/catch/finally and handle the error in the catch. You might try connecting a second time, or try connecting to another possible socket, or simply exit the program cleanly.


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.