[JBoss JIRA] (JBTM-2609) Make JDBCStore able to handle Java EE errors interfacing with a datasource in an app server
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2609?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson closed JBTM-2609.
-------------------------------
> Make JDBCStore able to handle Java EE errors interfacing with a datasource in an app server
> -------------------------------------------------------------------------------------------
>
> Key: JBTM-2609
> URL: https://issues.jboss.org/browse/JBTM-2609
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Tom Jenkinson
> Fix For: 5.2.13.Final
>
>
> Currently the handling is all expected to be JSE typed exceptions like an SQLexception. It seems that in an app server a variety of other exception types can be thrown not just limited to JNDI exceptions. It has been reported that IllegalStateException can be thrown when an app server is rebooting and the datasource is not available for lookup.
> Changing to handle all exceptions in JDBCImple_Driver.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 1 month
[JBoss JIRA] (JBTM-2614) JCA TransactionImporter should be thread safe
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2614?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson closed JBTM-2614.
-------------------------------
> JCA TransactionImporter should be thread safe
> ---------------------------------------------
>
> Key: JBTM-2614
> URL: https://issues.jboss.org/browse/JBTM-2614
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JCA
> Affects Versions: 5.2.12.Final
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Fix For: 5.2.13.Final
>
>
> I have a unit test that shows there's a race condition (first observed by [~dmlloyd]) in com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TransactionImporterImple#importTransaction(javax.transaction.xa.Xid, int).
> If two threads call this method at the same time, two separate transaction objects may be created. Here's the sequence of events:
> T1: call importTransaction for XID1
> T2: call importTransaction for XID1
> T1: getImportedTransaction returns null
> T2: getImportedTransaction returns null
> T1: create new transaction, add to map
> T2: create new transaction, add to map (overwriting T1's)
> There is nothing in the documentation to indicate that this is not a valid situation or that access to the TransactionImporter has to be single-threaded in any way.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 1 month