[ 
https://issues.apache.org/jira/browse/DBCP-564?focusedWorklogId=433155&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-433155
 ]

ASF GitHub Bot logged work on DBCP-564:
---------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/May/20 14:19
            Start Date: 14/May/20 14:19
    Worklog Time Spent: 10m 
      Work Description: garydgregory merged pull request #39:
URL: https://github.com/apache/commons-dbcp/pull/39


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

            Worklog Id:     (was: 433155)
    Remaining Estimate: 0h
            Time Spent: 10m

> BasicManagedDataSource leaks connections opened after transaction is 
> rollback-only
> ----------------------------------------------------------------------------------
>
>                 Key: DBCP-564
>                 URL: https://issues.apache.org/jira/browse/DBCP-564
>             Project: Commons DBCP
>          Issue Type: Bug
>    Affects Versions: 2.7.0
>            Reporter: Florent Guillaume
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> In the following situation a connection will be leaked and never returned to 
> the pool:
>  * a {{BasicManagedDataSource}} is instantiated for a non-XA driver class 
> name (but with a TransactionManager and a TransactionSynchronizationRegistry),
>  * a transaction is started then switched to rollback-only,
>  * a connection is acquired from the datasource,
>  * the connection is closed,
>  * the transaction is rolled back.
> The leak happens because, even though there is code in 
> {{TransactionContext.addTransactionContextListener}} to properly use the 
> {{transactionSynchronizationRegistry}} to register the suitable 
> {{Synchronization}} to do cleanup in {{afterCompletion}}, the 
> {{transactionSynchronizationRegistry}} is actually {{null}} because of the 
> way the {{LocalXAConnectionFactory}} was created in 
> {{BasicManagedDataSource.createConnectionFactory}}.
> PR: https://github.com/apache/commons-dbcp/pull/39



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to