[jbossts-issues] [JBoss JIRA] (JBTM-3174) tx driver connection pool leak

Jonathan Halliday (Jira) issues at jboss.org
Wed Aug 14 09:48:00 EDT 2019


Jonathan Halliday created JBTM-3174:
---------------------------------------

             Summary: tx driver connection pool leak
                 Key: JBTM-3174
                 URL: https://issues.jboss.org/browse/JBTM-3174
             Project: JBoss Transaction Manager
          Issue Type: Bug
          Components: Transactional Driver
    Affects Versions: 5.9.6.Final
            Reporter: Jonathan Halliday



The tx driver conn pooling leaks, as

https://github.com/jbosstm/narayana/blob/a66d5bd3ebfa96ab7e4142f28960a99b941a30e7/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java#L124

 if (!con.inUse() && isSameConnection(dbUrl, user, passwd, dynamic, xaDataSource, con.connectionControl()))

is ineffective at permitting connection reuse, as isSameConnection equality requires that 

https://github.com/jbosstm/narayana/blob/a66d5bd3ebfa96ab7e4142f28960a99b941a30e7/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java#L181

dynamic.equals(connControl.dynamicClass())

which does not hold as BaseTransactionalDriverXAConnection.dynamicClass() is not overridden by DirectRecoverableConnection.

proposed fix: make BaseTransactionalDriverXAConnection.dynamicClass() non-final, add 

@Override
    public final String dynamicClass() {
        return _dynamic;
    }

to DirectRecoverableConnection. Add test coverage.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jbossts-issues mailing list