[jbossts-issues] [JBoss JIRA] (JBTM-1354) JCA recovery race condition

Tom Jenkinson (JIRA) jira-events at lists.jboss.org
Mon Nov 26 09:41:21 EST 2012

    [ https://issues.jboss.org/browse/JBTM-1354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736970#comment-12736970 ] 

Tom Jenkinson commented on JBTM-1354:

Can't lock bottomUp as other thread needs to be able to get in there and getNewXAResource so end up with deadlock 
> 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) 
>            Reporter: Tom Jenkinson
>            Assignee: Tom Jenkinson
>             Fix For: 4.17.3, 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: http://www.atlassian.com/software/jira

More information about the jbossts-issues mailing list