[JBoss JIRA] (JBJCA-1159) ConnectionListener leaked if TSR throws IllegalStateException
by Jesper Pedersen (JIRA)
[ https://issues.jboss.org/browse/JBJCA-1159?page=com.atlassian.jira.plugin... ]
Jesper Pedersen resolved JBJCA-1159.
------------------------------------
Resolution: Done
> ConnectionListener leaked if TSR throws IllegalStateException
> -------------------------------------------------------------
>
> Key: JBJCA-1159
> URL: https://issues.jboss.org/browse/JBJCA-1159
> Project: IronJacamar
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.0.24.Final, 1.1.4.Final
> Environment: AS7 EAP6.1
> Reporter: gui borland
> Assignee: Jesper Pedersen
> Priority: Blocker
> Fix For: 1.0.25.Final, 1.1.5.Final, 1.2.0.Beta1
>
>
> When a connection is retrieved from the MCP, ironjacamar will register it to ongoing JTA transaction. However, if the ongoing TX is not 'active' anymore the connection is lost.
> The code of AbstractPool demonstrates the problem. The call to getLock will throw an exception if the current TX is not active anymore and the cl is not returned to the pool.
> This issue can be reproduced on AS7 by using any EJB that requires a tx and does something with a DB connection. Put a breakpoint in the code below after retrieving the connectionlistener, and then wait for the transaction to timeout. Once that's done, continue the thread. The connection is not release (can be seen in JMX)
> We have noticed this problem regularly during our performance tests.
> {code}
> ConnectionListener cl = mcp.getConnection(subject, cri);
> if (trace)
> log.tracef("Got connection from pool tracked by transaction=%s tx=%s", cl, trackByTransaction);
> TransactionSynchronizationRegistry tsr = getTransactionSynchronizationRegistry();
> Lock lock = getLock();
> try
> {
> lock.lockInterruptibly();
> }
> catch (InterruptedException ie)
> {
> Thread.interrupted();
> throw new ResourceException(bundle.unableObtainLock(), ie);
> }
> {code}
> It seems this issue was introduced by changes done for https://issues.jboss.org/browse/JBJCA-572
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 7 months
[JBoss JIRA] (WFLY-3192) AroundInvokeAnnotationParsingProcessor should fail when more methods with @AroundInvoke annotation are found in the class
by Emmanuel Hugonnet (JIRA)
Emmanuel Hugonnet created WFLY-3192:
---------------------------------------
Summary: AroundInvokeAnnotationParsingProcessor should fail when more methods with @AroundInvoke annotation are found in the class
Key: WFLY-3192
URL: https://issues.jboss.org/browse/WFLY-3192
Project: WildFly
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: EE
Affects Versions: 8.0.0.Final
Reporter: Emmanuel Hugonnet
Assignee: Emmanuel Hugonnet
AroundInvokeAnnotationParsingProcessor should fail when more methods with @AroundInvoke annotation is found in the class.
The specification says:
A class must not declare more than one AroundInvoke method.
The JBoss AS allows more such methods and then it chooses one of them which is used as the interceptor.
It becomes even more important to check the interceptor validity now with the new feature introduced by AS7-5897 (server side non-EE interceptors for EE invocations).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 7 months