Connection Timeout into Pooled Invokers
clebert.suconic May 4, 2005 4:17 PMI have someone running Specj with Pooled invokers at their configuration.
Right at the beggining of the execution, I'm having this stack-trace:
java.rmi.ConnectException: Failed to communicate; nested exception is: java.net.SocketTimeoutException: Read timed out at org.jboss.invocation.pooled.interfaces.PooledInvokerProxy.invoke(PooledInvokerProxy.java:351) at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:227) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:167) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55) at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:97) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86) at $Proxy4.scheduleWorkOrder(Unknown Source) at org.spec.jappserver.driver.PlannedLine.createVehicle(PlannedLine.java:365) at org.spec.jappserver.driver.LargeOrderLine$LrgLine.run(LargeOrderLine.java:288) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:235) at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2200) at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2490) at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2500) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1267) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) at org.jboss.invocation.pooled.interfaces.PooledInvokerProxy.invoke(PooledInvokerProxy.java:335) ... 9 more ~
We've tried to increase timeouts and we didn't have any improvements. Here is my current configuration.
<mbean code="org.jboss.invocation.pooled.server.PooledInvoker" name="jboss:service=invoker,type=pooled"> <attribute name="NumAcceptThreads">1</attribute> <attribute name="MaxPoolSize">600</attribute> <attribute name="ClientMaxPoolSize">600</attribute> <attribute name="SocketTimeout">240000</attribute> <attribute name="ServerBindAddress">${jboss.bind.address}</attribute> <attribute name="ServerBindPort">4445</attribute> <attribute name="ClientConnectAddress">${jboss.bind.address}</attribute> <attribute name="ClientConnectPort">0</attribute> <attribute name="EnableTcpNoDelay">false</attribute> <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends> </mbean> This is happening just when all the load is being initialized. So it's kind of everybody starting at the same time. So, I need to understand if a high initial load would cause this (as I only have one AcceptThread), or if a delay in the application (like query delays) would be causing this. Any help is appreciated. thanks, Clebert Suconic