Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Read timed out

When we set the Asset action to retire then active, it always report the Read time out error. The code like this:
asset.setAction(RAMAction.RETIRE);
session.put(asset, new RAMStatusMonitor());

asset.setAction(RAMAction.ARCHIVE);
session.put(asset, new RAMStatusMonitor());


The error log like this:
com.ibm.cloud.ram.RAMAccessException: ; nested exception is:
java.net.SocketTimeoutException: Read timed out
at com.ibm.cloud.ram.RAMClient.deleteAsset(RAMClient.java:428)
at com.ibm.cloud.ram.RAMClientTest.testDelete(RAMClientTest.java:233)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: com.ibm.ram.common.data.exception.RAMRuntimeException: ; nested exception is:
java.net.SocketTimeoutException: Read timed out
at com.ibm.ram.client.RAMSession.putAsset(RAMSession.java:3256)
at com.ibm.ram.client.RAMSession.put(RAMSession.java:4730)
at com.ibm.cloud.ram.RAMClient.deleteAsset(RAMClient.java:416)
... 25 more
Caused by: java.net.SocketTimeoutException: Read timed out
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
at com.ibm.ram.internal.client.RAMHTTPSender.invoke(RAMHTTPSender.java:41)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.ibm.ram.repository.web.ws.core.v72.RAM1SoapBindingStub.changeAssetStateByID(RAM1SoapBindingStub.java:6389)
at com.ibm.ram.internal.access.ws.RAMv72.changeAssetStateByID(RAMv72.java:1028)
at com.ibm.ram.client.RAMSession.putAsset(RAMSession.java:2795)
... 27 more


Is the RAM client API need any socket timeout setting? Thanks.
Our RAM version is 7.2

0 votes



5 answers

Permanent link
There is a RAMSession. setWebServiceTimeout(int seconds) that defaults to 60 seconds.

0 votes


Permanent link
There is a RAMSession. setWebServiceTimeout(int seconds) that defaults to 60 seconds.


Hi Kbauer,

I set the code as session.setWebServiceTimeout(360000); and try to run the unit test as following:
asset.setAction(RAMAction.RETIRE);
session.setWebServiceTimeout(360000);
session.put(asset, new RAMStatusMonitor());

asset.setAction(RAMAction.ARCHIVE);
session.setWebServiceTimeout(360000);
session.put(asset, new RAMStatusMonitor());

But it will not work until run the unit test three times , then will not throw exception for read time not.

Also, after run it three times, it means can not do operation on the retire asset.

Do you have any idea on it? Thanks.

0 votes


Permanent link
Hello,
Is the hang happening on "asset.setAction(RAMAction.RETIRE)" or
"asset.setAction(RAMAction.ARCHIVE)" ?

To understand your problem, you set the timeout to 360,000seconds
(100hours) and you get a timeout how soon?

Also, can you please check server logs and watch for any exceptions when
you make this call?
Regards,
Srimanth.



On 1/30/2011 5:53 AM, pantian wrote:
kbauerwrote:
There is a RAMSession. setWebServiceTimeout(int seconds) that
defaults to 60 seconds.

Hi Kbauer,

I set the code as session.setWebServiceTimeout(360000); then can
work, but I have two questions want to confirm :
1) If any impact after this change? Cause the RAM reading slowly?
2) My code like this:
asset.setAction(RAMAction.RETIRE);
session.setWebServiceTimeout(360000);
session.put(asset, new RAMStatusMonitor());

asset.setAction(RAMAction.ARCHIVE);
session.setWebServiceTimeout(360000);
session.put(asset, new RAMStatusMonitor());

But after the status set to retire it can not be changed to Archieve
after that. Because it will throw the exception means the retire
status asset can not be used.

Could you help to confirm? Thanks.

0 votes


Permanent link
Hi Srimanth,

I found the problem is caused by the life cycle not set correctly in the review process. Now the problem is fixed, thank you for your help.

0 votes


Permanent link
Hi,

Could you please tell us exactly what was wrong with the lifecycle? We
shouldn't have timeouts just because of an incorrectly set lifecycle.

--
Rich Kulp
Rational Asset Manager developer

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Jan 28 '11, 4:21 a.m.

Question was seen: 8,335 times

Last updated: Jan 28 '11, 4:21 a.m.

Confirmation Cancel Confirm