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