Bug 1032932 - TransactionMixIn misconfigures TransactionSynchronizationRegistry
TransactionMixIn misconfigures TransactionSynchronizationRegistry
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: SwitchYard (Show other bugs)
All All
unspecified Severity unspecified
: DR1
: 6.1.0
Assigned To: Tomohisa Igarashi
Matej Melko
Depends On:
  Show dependency treegraph
Reported: 2013-11-21 04:26 EST by Daniel Tschan, Puzzle ITC
Modified: 2015-11-02 03:03 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
The TransactionMixIn class does not configure the JTAEnvironmentBean used by the TransactionSynchronizationRegistry. Instead, it registers in JNDI. As soon as you use TransactionSynchronizationRegistry directly or indirectly an exception is thrown. As a workaround, you will find a proposed patch attached to the bug ticket.
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Unit test demonstrating the problem. (1.17 KB, text/plain)
2013-11-21 04:26 EST, Daniel Tschan, Puzzle ITC
no flags Details
Proposed patch for the issue. (2.89 KB, patch)
2013-11-21 06:44 EST, Daniel Tschan, Puzzle ITC
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker SWITCHYARD-1860 Major Resolved TransactionSynchronizationRegistry doesn't work on TransactionMixIn 2016-11-18 05:23 EST

  None (edit)
Description Daniel Tschan, Puzzle ITC 2013-11-21 04:26:46 EST
Created attachment 827091 [details]
Unit test demonstrating the problem.

Description of problem:
The TransactionMixIn class doesn't configure the JTAEnvironmentBean used by the TransactionSynchronizationRegistry it registers in JNDI. As soon as the TransactionSynchronizationRegistry is used directly or indirectly an exception is thrown and the test is aborted.

Version-Release number of selected component (if applicable):
JBoss Fuse Service Works 6.0.0 Beta

How reproducible:
Always, see attached unit test.

Steps to Reproduce:
1. Run attached unit test.

Actual results:

Test aborts with:
	at com.arjuna.ats.internal.jts.ORBManager.getPOA(ORBManager.java:87)
	at com.arjuna.ats.internal.jts.OTSImpleManager.<clinit>(OTSImpleManager.java:296)
	at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.getTransaction(TransactionImple.java:1126)
	at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.getStatus(BaseTransaction.java:195)
	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple.getTransactionStatus(TransactionSynchronizationRegistryImple.java:161)
	at ch.bls.schub.infrastructure.persistence.TransactionSynchronizationRegistryTest.testTransactionSynchronizationRegistry(TransactionSynchronizationRegistryTest.java:21)

additionally the following error is logged:

09:55:10,443 FATAL [com.arjuna.ats.jts] ARJUNA022006: The ORB has not been initialized yet

Expected results:
TransactionSynchronizationRegistry works as described by JTA spec.

Additional info:
Proposed patch to follow.
Comment 2 Daniel Tschan, Puzzle ITC 2013-11-21 06:44:24 EST
Created attachment 827153 [details]
Proposed patch for the issue.
Comment 3 Keith Babo 2013-11-21 10:14:21 EST
Thanks for reporting the issue and the providing a patch.  Tomo - can you have a look at this?

Setting devel ack to '-' due to the fact that this is not a blocker for 6.0.
Comment 4 Tomohisa Igarashi 2013-11-22 05:18:05 EST
Confirmed the problem and the suggested fix avoid it. A pull request is linked to SWITCHYARD-1860 so we can merge it. Thanks for the report, tschan!

Note You need to log in before you can comment on or make changes to this bug.