Connection Pool issue(Connection reset by peer: socket write error) with server in DMZ

Connectivity

Connection Pool issue(Connection reset by peer: socket write error) with server in DMZ

I am using connection pool with Tomcat 7.  The web server sits in the DMZ, while Teradata is in the internal network.  Port 1025 opened in the web server.  When the application first starts up, everything works fine.  But it seems after a short time, the pooled connection fails, with the following error:

SQLException: [Teradata JDBC Driver] [TeraJDBC 14.00.00.13] [Error 1000] [SQLState 08S01]

Login failure for Packet transmit Fri Nov 30 07:42:41 CST 2012 socket orig=10.40.207.211 local=/10.40.200.50:55453 remote=/10.40.207.211:1025

keepalive=false nodelay=false receive=65156 send=65156 linger=10 traffic=0 concurrent=3 contimeout=10000 conwait=1000

connecttime=0 connecttotaltime=0 connectattempts=1 connectfailures=0 failurecache={} cid=b4ef239 sess=1908

java.net.SocketException: Connection reset by peer: socket write error   at java.net.SocketOutputStream.socketWrite0(Native Method)  

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)   at java.net.SocketOutputStream.write(SocketOutputStream.java:136)  

at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF.write(TDNetworkIOIF.java:796)   at com.teradata.jdbc.jdbc_4.io.TDPacketStream.writeStream(TDPacketStream.java:781)

at com.teradata.jdbc.jdbc_4.statemachine.SendState.sendPacket(SendState.java:132)   at com.teradata.jdbc.jdbc_4.statemachine.StatementSendState.action(StatementSendState.java:96)

at com.teradata.jdbc.jdbc_4.statemachine.StatementController.runBody(StatementController.java:121)   at com.teradata.jdbc.jdbc_4.statemachine.StatementController.run(StatementController.java:112)

at com.teradata.jdbc.jdbc_4.TDStatement.executeStatement(TDStatement.java:373)   at com.teradata.jdbc.jdbc_4.TDStatement.prepareRequest(TDStatement.java:542) 

at com.teradata.jdbc.jdbc_4.TDPreparedStatement.<init>(TDPreparedStatement.java:103)   at com.teradata.jdbc.jdk6.JDK6_SQL_PreparedStatement.<init>(JDK6_SQL_PreparedStatement.java:21)

at com.teradata.jdbc.jdk6.JDK6_SQL_Connection.constructPreparedStatement(JDK6_SQL_Connection.java:76)   at com.teradata.jdbc.jdbc_4.TDSession.prepareStatement(TDSession.java:1521) 

at com.teradata.jdbc.jdbc_4.TDSession.prepareStatement(TDSession.java:1498)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

The same setting (in Tomcat context.xml) works without issues in the DEV and TEST environment (which is inside the firewall).

initialSize="10"

maxActive="100"

maxIdle="50"

minIdle="10"

suspectTimeout="120"

timeBetweenEvictionRunsMillis="30000"

minEvictableIdleTimeMillis="60000"



Your help is very much appreciated.

Thanks!

 

 

1 REPLY
Teradata Employee

Re: Connection Pool issue(Connection reset by peer: socket write error) with server in DMZ

Are you running Tomcat on Linux? If so, then you may be encountering the "Slow Logon on Linux" problem.

http://developer.teradata.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_5.html#CHDDACIH