I have a very long data exchange process I need to run (approx 14 hours), and am getting the following errors all through the import log file:
JDBC error 0: Connection reset by peer: socket write error, SQL state: 08S01 for query: SELECT COUNT(*) AS C0 FROM ( itsm_persons T1 LEFT OUTER JOIN rep_accounts T2 ON (T2.acc_oid = T1.per_acc_oid)) WHERE T2.acc_loginname LIKE ? Values: E0104246com.inet.tds.SQLException: Connection reset by peer: socket write error
while processing attribute ACCOUNT
The SQL seems to be different for each of the errors though.
Does anyone know why this moght be occurring? The data exchange seems to have worked mostly, though some data items are missing for the ID's where this error was received.
- Your network quality between app server and database. - Bug in jdbc driver? - Database timeout settings (no timeout is default as far as i know)
My suggestion is to open a command prompt on application server and type "ping -t dbserver" and then start data exchange process. Next day, when data exchange task finishes, break ping process and check if there is any packet loss. If there is not, your network is probably ok, or one of the components involved may require a "keep alive" function.
Also try to set your server's network card's transmit and receive buffers to 1024, which are 128 or 256 by default.
If you are using windows, optimizing tcp/ip settings may give you an exit.
If all above do not solve your problem, try to increase database and application server connection pool count. If all connections in database pool will be occupied after a while, when app. server tries to open more connections, you can have socket write errors.