[JBoss JIRA] Created: (JBTM-354) race condition in XAResource start/end handling due to async rollback
by Jonathan Halliday (JIRA)
race condition in XAResource start/end handling due to async rollback
---------------------------------------------------------------------
Key: JBTM-354
URL: http://jira.jboss.com/jira/browse/JBTM-354
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JTA Implementation, JTS Implementation
Affects Versions: 4.3.0.GA, 4.2.3.SP5
Reporter: Jonathan Halliday
Assigned To: Jonathan Halliday
Fix For: 4.2.3.SP8, 4.4.CR1
There exists a race condition such that we may call start on an XAResource but never call end (or anything else) on it if the transaction times out whilst the resource enlistment is still in progress. This is a Bad Thing and may make resource managers unhappy.
To reproduce:
TransactionManager tm = new TransactionManagerImple();
tm.setTransactionTimeout(5);
tm.begin();
Transaction t = tm.getTransaction();
// XAResourceImpl has a start method with Thread.sleep longer than 5s
XAResource xaResource = new XAResourceImpl();
t.enlistResource(xaResource);
Thread.sleep(10);
// reaper times out the tx, resource manager for XAResource
// *may* have received start but never receives end.
Fix notes: TransactionImple.enlistResource needs to lock out the reaper thread. At first glance an alternative fix is to put the resource into the transaction's internal data structure before calling start on it, but that would allow an 'end, begin' sequence of calls to be seen by the resource manager.
caution: ref support case i-t #171373 there *may* exist additional race conditions in the app server JCA so this change alone won't necessarily fix the problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 5 months
[JBoss JIRA] Commented: (JBTM-123) Integrate with AS 5.0
by Jonathan Halliday (JIRA)
[ http://jira.jboss.com/jira/browse/JBTM-123?page=comments#action_12415543 ]
Jonathan Halliday commented on JBTM-123:
----------------------------------------
With effect from r20294 JBossTS trunk uses POJOs rather than JMX for the JBossAS integration. That means it won't actually work against the AS trunk until we do a TS release and update AS to use it, as we need config files changes on the AS side too. Meanwhile to run the AS trunk with JBossTS trunk, comment out the <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService" mbean in deploy/transaction-service.xml and create a deploy/transaction-beans.xml instead, with content per the xml provided in TransactionManagerService.java code comments.
> Integrate with AS 5.0
> ---------------------
>
> Key: JBTM-123
> URL: http://jira.jboss.com/jira/browse/JBTM-123
> Project: JBoss Transaction Manager
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: JTA Implementation, JTS Implementation, WS-T Implementation
> Affects Versions: 4.2.1
> Reporter: Mark Little
> Assigned To: Jonathan Halliday
> Fix For: 4.4
>
> Time Spent: 2 days
> Remaining Estimate: 0 minutes
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months
[JBoss JIRA] Created: (JBTM-370) xts participant comenstate() exception handling improvements
by Jonathan Halliday (JIRA)
xts participant comenstate() exception handling improvements
------------------------------------------------------------
Key: JBTM-370
URL: http://jira.jboss.com/jira/browse/JBTM-370
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: WS-T Implementation
Affects Versions: 4.3.0.GA, 4.2.3.SP7
Reporter: Jonathan Halliday
Assigned To: Andrew Dinn
Fix For: 4.2.3.SP8, 4.4.CR1
In the XTS demo app, TaxiParticipantBA.compensate throws a SystemException. This is regarded by XTS as a potentially transitory problem and thus the compensate is retried at 30 second intervals. We should instead throw FaultedException, which indicated a permanent error.
Further, the javadoc for BusinessAgreementWithParticipantCompletionParticipant should be updated to clarify the behaviour of these exceptions and the circumstances in which each should be used.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months