[
https://issues.jboss.org/browse/ISPN-2033?page=com.atlassian.jira.plugin....
]
Tristan Tarrant commented on ISPN-2033:
---------------------------------------
Jim, this is a potential duplicate of ISPN-2102 which has been resolved in 5.1.5.FINAL.
The code there is a bit contrived and indeed connections should not be released in the
finally blocks as they are needed in subsequent parts of the code. Could you try again
with the later release and tell me if it works for you there ?
JdbcBinaryCacheStore.purgeInternal() - releaseConnection() should be
called in finally block.
---------------------------------------------------------------------------------------------
Key: ISPN-2033
URL:
https://issues.jboss.org/browse/ISPN-2033
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 5.1.2.FINAL
Environment: JBoss 7.1.1 Final
Reporter: Jim Dunkerton
Assignee: Tristan Tarrant
Labels: cache, connection_pool, database
A potential memory leak of pooled DB connections is present in JdbcBinaryCacheStore.
Observe the catch and finally blocks of the purgeInternal() method. The pooled DB
connection is not released unless an SQLException has been thrown. Contrast with
JdbcStringBasedCacheStore.purgeInternal(), where the releaseConnection() is invoked in the
finally block.
When using a JdbcMixedCacheStore, I noticed a DB connection leak. It appeared that for
every two connections being acquired, only one was being released. I believe it is down
to the fact that the JdbcBinaryCacheStore inside the JdbcMixedCacheStore is not releasing
its connections properly (i.e. in its finally block) whereas the JdbcStringBasedCacheStore
is.
I guess a workaround is to use only a JdbcStringBasedCacheStore, not a
JdbcMixedCacheStore.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira