java.rmi.ConnectIOException: Exception creating connection to: 10.14.1.1; nested exception is: java.io.InterruptedIOException: The socket pool for a client 10.14.1.1:3003 did not recieve a callback socket from the client within 60001ms, pool still empty
We often errors on Servoy server for connections via Headless Client from a office connected with our VPN WAN.
I tried to change the lower values timeout Server in this way:
What happens when you raise them even more to, let’s say, 60 seconds?
Just for the sake of the experiment I would play a little more with these setting to identify the issue…
Giovanni, are you sure that this is an headless client? An headless client runs on the server so all RMI communication is done on localhost and only the resulting html is sent trough the VPN to the web browser, I would double check that log entry, I don’t think it’s related to the HC.
Giovanni, are you sure that this is an headless client?
Are absolutely sure. The error message is taken from the page “server logs” of Servoy Server.
We have some offices connected to the VPN with ping times from 12ms to 50ms and we continually messages like this. Among the offices there are two routers on the network MPLS (Telecom Italia). Servoy Server is located at headquarters.
2008-03-22 07:39
RMI TCP Connection(2)-10.11.2.8
ERROR com.servoy.j2db.util.Debug destroyObject: java.sql.SQLException: Eccezione IO: Connection reset by peer: socket write error
...
org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Eccezione IO: Connection reset by peer: socket write error
at org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:191)
at com.servoy.j2db.persistence.datasource.m.borrowObject(Unknown Source)
at org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:128)
at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
at com.servoy.j2db.dataprocessing.SQLEngine.a(Unknown Source)
at com.servoy.j2db.dataprocessing.SQLEngine.a(Unknown Source)
at com.servoy.j2db.dataprocessing.SQLEngine.performQuery(Unknown Source)
at sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Eccezione IO: Connection reset by peer: socket write error
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:389)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413)
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119)
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92)
at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950)
at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802)
at com.servoy.j2db.persistence.datasource.l.prepareStatement(Unknown Source)
at org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:185)
... 20 more
I do not understand on what have caused.
It may be too slow connection? (HDSL lines 1Mbps)
That last piece of trace-log looks more of a JDBC connection issue between Servoy Server and your Oracle database server.
Is the database server also located at headquarters or is it further away ?
Or maybe Oracle has a limit on the amount of connections you may use and you have set the max connections to high in Servoy?
Just thinking out loud here.