You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2004/08/08 17:36:12 UTC
DO NOT REPLY [Bug 30523] New: -
hands out connections though broken at back end
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=30523>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=30523
hands out connections though broken at back end
Summary: hands out connections though broken at back end
Product: Commons
Version: 1.0 Alpha
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: Normal
Priority: Other
Component: Dbcp
AssignedTo: commons-dev@jakarta.apache.org
ReportedBy: fredrik.wendt@linux.se
The setup:
Hibernate Session is fetched from a Hibernate SessionFactory, created from a
Hibernate Configuration which uses JNDI/DBCP setup by Tomcat. The entry is found
below.
The problem:
After tomcat has completed starting up, all is well. No problems, but if I
restart the PostgreSQL database (as in /etc/init.d/postgres restart), the
Connections handed out by DBCP fails to execute queries.
Actual results:
The pool becomes unusable.
Expected results:
The pool detects the problem and reinitiates all connections to the database.
Stacktrace: (heavily reduced)
javax.servlet.ServletException: Couldn't load todo items from database.
at
se.csbnet.nvg.worksupport.actions.ViewTodoList.service(ViewTodoList.java:49)
[...]
at net.w_sys.mwa.filters.HibernateFilter.doFilter(HibernateFilter.java:142)
[...]
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:534)
Could not execute query
net.sf.hibernate.JDBCException: Could not execute query
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1539)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1513)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1505)
at
se.csbnet.nvg.worksupport.actions.ViewTodoList.service(ViewTodoList.java:37)
[...]
at net.w_sys.mwa.filters.HibernateFilter.doFilter(HibernateFilter.java:142)
[...]
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.postgresql.util.PSQLException: An IO erro occured while sending
to the backend - Exception: java.net.SocketException: Broken pipe
Stack Trace:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:79)
at org.postgresql.core.PGStream.SendChar(PGStream.java:66)
at org.postgresql.core.QueryExecutor.sendQueryV3(QueryExecutor.java:320)
[...]
at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:233)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
[...]
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1505)
at
se.csbnet.nvg.worksupport.actions.ViewTodoList.service(ViewTodoList.java:37)
[...]
at net.w_sys.mwa.filters.HibernateFilter.doFilter(HibernateFilter.java:142)
[...]
at java.lang.Thread.run(Thread.java:534)
End of Stack Trace
at org.postgresql.core.QueryExecutor.sendQueryV3(QueryExecutor.java:341)
[...]
at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:233)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
[...]
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1536)
... 50 more
An IO erro occured while sending to the backend - Exception:
java.net.SocketException: Broken pipe
Stack Trace:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:79)
at org.postgresql.core.PGStream.SendChar(PGStream.java:66)
[...]
at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:233)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
[...]
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1505)
at
se.csbnet.nvg.worksupport.actions.ViewTodoList.service(ViewTodoList.java:37)
[...]
at net.w_sys.mwa.filters.HibernateFilter.doFilter(HibernateFilter.java:142)
[...]
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:534)
End of Stack Trace
org.postgresql.util.PSQLException: An IO erro occured while sending to the
backend - Exception: java.net.SocketException: Broken pipe
Stack Trace:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:79)
at org.postgresql.core.PGStream.SendChar(PGStream.java:66)
at org.postgresql.core.QueryExecutor.sendQueryV3(QueryExecutor.java:320)
[...]
at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:233)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
[...]
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1505)
at
se.csbnet.nvg.worksupport.actions.ViewTodoList.service(ViewTodoList.java:37)
[...]
at net.w_sys.mwa.filters.HibernateFilter.doFilter(HibernateFilter.java:142)
[...]
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:534)
End of Stack Trace
at org.postgresql.core.QueryExecutor.sendQueryV3(QueryExecutor.java:341)
[...]
at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:233)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
[...]
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1505)
at
se.csbnet.nvg.worksupport.actions.ViewTodoList.service(ViewTodoList.java:37)
[...]
at net.w_sys.mwa.filters.HibernateFilter.doFilter(HibernateFilter.java:142)
[...]
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
at java.lang.Thread.run(Thread.java:534)
The entry in Tomcat's server.xml looks like this:
<Context path="/nvg" docBase="/some/where/" reloadable="false">
<Resource name="jdbc/nvg" scope="Shareable" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/nvg">
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<!-- JDBC params -->
<parameter><name>url</name><value>jdbc:postgresql://localhost/nvg</value></parameter>
<parameter><name>driverClassName</name><value>org.postgresql.Driver</value></parameter>
<parameter><name>username</name><value>username</value></parameter>
<parameter><name>password</name><value>password</value></parameter>
<!-- DBCP params -->
<parameter><name>maxWait</name><value>600</value></parameter>
<parameter><name>maxIdle</name><value>4</value></parameter>
<parameter><name>maxActive</name><value>8</value></parameter>
</ResourceParams>
</Context>
Using commons-dbcp-1.2.1.jar
Postgres Version: 7.4.3-1
Postgres JDBC-driver: pg74.214.jdbc3.jar
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org