[
http://jira.jboss.com/jira/browse/JBAS-1402?page=all ]
Adrian Brock closed JBAS-1402.
------------------------------
Resolution: Out of Date
Assignee: (was: Adrian Brock)
This issue can be closed.
The JCA issues still need resolving with some api for the a generic TM to get XAResources
during recovery.
There is a thread about this in the JCA forum, but I'm not sure if any
JIRA issues were created beyond what is mentioned here.
I'll close the ones here and re-raise the issue in the JCA forum.
Transaction Recovery
--------------------
Key: JBAS-1402
URL:
http://jira.jboss.com/jira/browse/JBAS-1402
Project: JBoss Application Server
Issue Type: Task
Security Level: Public(Everyone can see)
Components: Transaction Manager
Affects Versions: JBossAS-4.0.1 Final
Reporter: Adrian Brock
Implement optional transaction recovery
The simplest mechanism is to do this is with a local database
using the last resource gambit where during its "prepare" it logs the XID in a
table.
If this last resource fails to commit, recovery will not find the transaction
in the table which means it will rollback the whole transaction.
This has limitations where a different local resource is required within the transaction
but not this local database used as the recovery log.
Another implementation is a local file. Though more complicated it should give superior
performance.
But, it does not work well with the last resource gambit, e.g. you cannot tell
whether the jdbc commit() suceeded or failed if it crashes just at the point of this
invocation
before the result is returned from the db.
The other work required:
1) Possibly, simplify the dependencies in the JCA module so we can run the recovery
earlier.
Currently the RARs need the transaction manager at deployment time. The
recovery service needs to be an external service depending upon both the
tm and the managed connection factories.
At least this will require a GUID for the XID so we can avoid duplicates between
unrecovered XIDs and any new XIDs created before recovery is complete.
2) JBossMQ needs to implement XAResource.recover()
--
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