]
Tom Jenkinson commented on JBTM-1354:
-------------------------------------
JCA recovery race condition
---------------------------
Key: JBTM-1354
URL:
https://issues.jboss.org/browse/JBTM-1354
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JCA, JTA, Recovery
Reporter: Tom Jenkinson
Assignee: Tom Jenkinson
Fix For: 4.17.4, 5.0.0.M2
Evidenced in SimpleIsolatedServers::testSimultaneousRecovery
Basically XATerminatorImple -> SAA::activate() -> XAResourceRecord::restore_state()
-> getNewXAResource() -> XARecoveryModule::getNewXAResource()
At this point _xidScans may be none-null but still only partial from the first scan:
periodicWorkSecondPass -> bottomUpRecovery ->
resourceInitiatedRecoveryForRecoveryHelpers -> xaRecovery
if (_xidScans == null)
_xidScans = new Hashtable<XAResource,RecoveryXids>();
What I am not sure of is whether we should synchronize bottomUpRecovery and
getNewXAResource as that would stop this race condition. Gonna give that a whirl.
--
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: