Thanks Felix for your great explaination. --- On Sat, 21/7/12, Felix Schumacher <felix.schumac...@internetallee.de> wrote:
> From: Felix Schumacher <felix.schumac...@internetallee.de> > Subject: Re: java.sql.SQLException: No more data to read from socket > To: users@tomcat.apache.org > Date: Saturday, 21 July, 2012, 6:41 PM > Am Samstag, den 21.07.2012, 08:44 > +0800 schrieb vijay mathew: > > For the last 2 failures, this issue appeared on > Monday and DB gets restarted every Saturday. So I assume > that this issue has to do something with the DB restart for > the last 2 failures. > > > > However 1 months back, the same issue appeared on a > Wednesday. > > > > So I was not able find a real pattern for this issue > when I compare the last 3 failures. > You are using a pool of connections. The pool maintains at > least three > different types of connections: > > * alive connections, which are borrowed to a client > * alive connections, which are idling in the pool > * closed connections, which wait to be opened by the pool > > When you restart the database, all alive connections will > (probably) be > broken. If you ask the pool for a new connection, it can > give you a > previously closed one and open it, or a previously alive > (and probably > broken) one. > > So you might be lucky by getting a newly opened one, or have > bad luck > and get a broken connection. The pool should prefer to give > one of the > "alive" connections to you, though. > > To mitigate the problem of handing out broken connections > the pool often > has functionality to check a connection, before it hands it > to the > client. When using the tomcat database connection pool, that > feature can > be configured by setting validationQuery to a valid > SQL-query (e.g > "select 1 from dual" for oracle) and testOnBorrow to true. > > On the other hand, your code could store the connection > somewhere and > use it after a long period of time again. If the database > was restarted > in the meantime, you would get that error, but the > validation query in > the pool would not be able to help you. > > Regards > Felix > > > > > > --- On Fri, 20/7/12, Christopher Schultz <ch...@christopherschultz.net> > wrote: > > > > > From: Christopher Schultz <ch...@christopherschultz.net> > > > Subject: Re: java.sql.SQLException: No more data > to read from socket > > > To: "Tomcat Users List" <users@tomcat.apache.org> > > > Date: Friday, 20 July, 2012, 10:21 PM > > > -----BEGIN PGP SIGNED MESSAGE----- > > > Hash: SHA1 > > > > > > - -----BEGIN PGP SIGNED MESSAGE----- > > > Hash: SHA1 > > > > > > Vijay, > > > > > > On 7/19/12 8:25 PM, vijay mathew wrote: > > > > > > > java.sql.SQLException: No more data to read > from socket > > > at > > > > > > > > oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74) > > > > > > > > > > > > > > > > > > > at > > > > oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110) > > > > at > > > > > > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171) > > > > > > > > > > > > > > > > > > > at > > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) > > > > at > > > > > > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:439) > > > > > > > > > > > > > > > > > > > at > > > > oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1042) > > > > at > > > > > > > > oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:999) > > > > > > > > > > > > > > > > > > > at > oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:584) > > > > at > > > > oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183) > > > > > > > at > > > > > > > > oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:774) > > > > > > > > > > > > > > > > > > > at > > > > oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:849) > > > > at > > > > > > > > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) > > > > > > > > > > > > > > > > > > > at > > > > oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1377) > > > > at > > > > > > > > oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:386) > > > > > > > > > > > > > > > > > > > at > > > > com.merck.mrl.pcisrr.mrlsos.loginservlet.service(loginservlet.java:124) > > > > at > > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > > > > > So, when this happens, it always happens alongside > an Oracle > > > restart, > > > but an Oracle restart does not always mean you'll > get one of > > > these errors? > > > > > > - - -chris > > > - -----BEGIN PGP SIGNATURE----- > > > Version: GnuPG/MacGPG2 v2.0.17 (Darwin) > > > Comment: GPGTools - http://gpgtools.org > > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > > > > > > iEUEARECAAYFAlAJixAACgkQ9CaO5/Lv0PDr8wCY2P8stZkV5AmvW28eYVf2wAYQ > > > SACeJBVjBTrLzWTTtkH1Hcnsh5IPKLI= > > > =pXsE > > > - -----END PGP SIGNATURE----- > > > -----BEGIN PGP SIGNATURE----- > > > Version: GnuPG/MacGPG2 v2.0.17 (Darwin) > > > Comment: GPGTools - http://gpgtools.org > > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > > > > > > iEYEARECAAYFAlAJjJ8ACgkQ9CaO5/Lv0PBKQgCcCQPPTZaSCmug5EBYrXhONKXv > > > PskAn2hQ4zG+gQGK+9t7IyRqWO/0z2AM > > > =ckQ+ > > > -----END PGP SIGNATURE----- > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org