All Forums Connectivity
PheobeChang 1 post Joined 11/12
30 Nov 2012
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(SocketOutputSt ream.java:92)   at java.net.SocketOutputStream.write(SocketOutputStream.j ava:136)  
at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF.write(TDNetw orkIOIF.java:796)   at com.teradata.jdbc.jdbc_4.io.TDPacketStream.writeStream (TDPacketStream.java:781)
at com.teradata.jdbc.jdbc_4.statemachine.SendState.sendPa cket(SendState.java:132)   at com.teradata.jdbc.jdbc_4.statemachine.StatementSendSta te.action(StatementSendState.java:96)
at com.teradata.jdbc.jdbc_4.statemachine.StatementControl ler.runBody(StatementController.java:121)   at com.teradata.jdbc.jdbc_4.statemachine.StatementControl ler.run(StatementController.java:112)
at com.teradata.jdbc.jdbc_4.TDStatement.executeStatement( TDStatement.java:373)   at com.teradata.jdbc.jdbc_4.TDStatement.prepareRequest(TD Statement.java:542) 
at com.teradata.jdbc.jdbc_4.TDPreparedStatement.<init>(TD PreparedStatement.java:103)   at com.teradata.jdbc.jdk6.JDK6_SQL_PreparedStatement.<ini t>(JDK6_SQL_PreparedStatement.java:21)
at com.teradata.jdbc.jdk6.JDK6_SQL_Connection.constructPr eparedStatement(JDK6_SQL_Connection.java:76)   at com.teradata.jdbc.jdbc_4.TDSession.prepareStatement(TD Session.java:1521) 
at com.teradata.jdbc.jdbc_4.TDSession.prepareStatement(TD Session.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!
 
 

tomnolan 594 posts Joined 01/08
01 Dec 2012

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
 

You must sign in to leave a comment.