You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2020/01/30 17:33:24 UTC

[Bug 64107] New: PreparedStatements correctly closed are not returning to pool. Leads to PreparedStatement Pool exhaustion.

https://bz.apache.org/bugzilla/show_bug.cgi?id=64107

            Bug ID: 64107
           Summary: PreparedStatements correctly closed are not returning
                    to pool. Leads to PreparedStatement Pool exhaustion.
           Product: Tomcat Modules
           Version: unspecified
          Hardware: PC
            Status: NEW
          Severity: major
          Priority: P2
         Component: jdbc-pool
          Assignee: dev@tomcat.apache.org
          Reporter: tarun.kalra@snapon.com
  Target Milestone: ---

In our code there is a sql statement that is fired multiple times with
different input values. The datasource is configured to use pooling of prepared
statements. The pool runs out of available preparedstatements with even single
user. Below is the error that is thrown.

Cause:
java.util.NoSuchElementException: Pool exhausted
java.sql.SQLException: MaxOpenPreparedStatements limit reached


The statements are being closed correctly and as per documentation should
return to the pool available for next sql execution.

Below is the jdbc resource definition. 

<Resource auth="Container"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
type="javax.sql.DataSource"
name="jdbc/SomeDataSourceName" password="<password>" username="<username>"
url="<dburl>"
maxTotal="10" initialSize="5" maxIdle="8" minIdle="0" maxWaitMillis="5000"
poolPreparedStatements="true"
maxOpenPreparedStatements="150" testOnBorrow="false" testWhileIdle="true"
validationQuery="select 1"
timeBetweenEvictionRunsMillis="900000" removeAbandonedTimeout="180"
removeAbandonedOnBorrow="true"
removeAbandonedOnMaintenance="true" logAbandoned="false"
minEvictableIdleTimeMillis="1800000" />

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org