Details
-
Support Request
-
Resolution: Fixed
-
Medium
-
None
-
3.1.1
-
standalone, ms sql server, jtds, jdk1.4.2_08, OS Windows 2003 5.2
Description
After 15 days of up time, JIRA hung on us. The login page could be accessed, but nothing else. In the stdout.log were 7 instances of the following exception. I am hypothesizing that there is an issue with the database connection pool (pool configuration is at the bottom of the description). There was little else of note in the logs. Do you have any recommendations for additional DBCP settings, e.g. setting maxWait or tweaking eviction or abandoned settings?
2005-05-24 14:44:58,089 WARN [core.entity.jdbc.SQLProcessor] [SQLProcessor.rollback]: SQL Exception while rolling back insert. Error was:java.sql.SQLException: Invalid state, the Connection object is closed.
2005-05-24 14:44:58,089 WARN [NoModule] org.ofbiz.core.entity.jdbc.SQLProcessor
java.sql.SQLException: Invalid state, the Connection object is closed.
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(ConnectionJDBC2.java:1164)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.rollback(ConnectionJDBC2.java:1492)
at org.apache.commons.dbcp.DelegatingConnection.rollback(DelegatingConnection.java:265)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.rollback(PoolingDataSource.java:333)
at org.ofbiz.core.entity.jdbc.SQLProcessor.rollback(SQLProcessor.java:128)
at org.ofbiz.core.entity.jdbc.SQLProcessor.commit(SQLProcessor.java:112)
at org.ofbiz.core.entity.jdbc.SQLProcessor.close(SQLProcessor.java:150)
at org.ofbiz.core.entity.jdbc.SQLProcessor.finalize(SQLProcessor.java:668)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
2005-05-24 14:44:58,089 ERROR [NoModule] Error closing the result, connection, etc in finalize EntityListIterator
org.ofbiz.core.entity.GenericDataSourceException: SQL Exception occurred on commit (I/O Error: Socket closed)
at org.ofbiz.core.entity.jdbc.SQLProcessor.commit(SQLProcessor.java:113)
at org.ofbiz.core.entity.jdbc.SQLProcessor.close(SQLProcessor.java:150)
at org.ofbiz.core.entity.jdbc.SQLProcessor.finalize(SQLProcessor.java:668)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
java.sql.SQLException: I/O Error: Socket closed
at net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1004)
at net.sourceforge.jtds.jdbc.TdsCore.submitSQL(TdsCore.java:848)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.commit(ConnectionJDBC2.java:1486)
at org.apache.commons.dbcp.DelegatingConnection.commit(DelegatingConnection.java:248)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.commit(PoolingDataSource.java:244)
at org.ofbiz.core.entity.jdbc.SQLProcessor.commit(SQLProcessor.java:110)
at org.ofbiz.core.entity.jdbc.SQLProcessor.close(SQLProcessor.java:150)
at org.ofbiz.core.entity.jdbc.SQLProcessor.finalize(SQLProcessor.java:668)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
Caused by: java.net.SocketException: Socket closed
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.DataOutputStream.write(DataOutputStream.java:85)
at net.sourceforge.jtds.jdbc.SharedSocket.sendNetPacket(SharedSocket.java:588)
at net.sourceforge.jtds.jdbc.RequestStream.putPacket(RequestStream.java:556)
at net.sourceforge.jtds.jdbc.RequestStream.flush(RequestStream.java:504)
at net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:991)
... 11 more
DBCP configuration from server.xml:
<Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/JiraDS">
<parameter>
<name>driverClassName</name>
<!-- NOTE: if you change the database type, you will need to change it in atlassian-jira/WEB-INF/classes/entityengine.xml -->
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://localhost:1433/jiradb</value>
</parameter>
<parameter>
<name>username</name>
<value>jira</value>
</parameter>
<parameter>
<name>password</name>
<value>jira</value>
</parameter>
<!-- NOTE: If NOT using hsqldb, comment next two parameters out -->
<!-- Give unused connections 4 secs before eviction. -->
<!--
<parameter>
<name>minEvictableIdleTimeMillis</name>
<value>4000</value>
</parameter>
-->
<!-- Check for evictions every 5 secs. -->
<!--
<parameter>
<name>timeBetweenEvictionRunsMillis</name>
<value>5000</value>
</parameter>
-->
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
</ResourceParams>