]
Mark Little commented on JBTM-2256:
-----------------------------------
Sounds like something Byteman could help with here. We should definitely add an automatic
test for this into the test suite to ensure that any fix is appropriate and this case is
covered in the future.
Race condition between recovery manager initialization and expiry
scanner
-------------------------------------------------------------------------
Key: JBTM-2256
URL:
https://issues.jboss.org/browse/JBTM-2256
Project: JBoss Transaction Manager
Issue Type: Bug
Components: Transaction Core
Reporter: Gytis Trikleris
Assignee: Gytis Trikleris
Fix For: 4.17.23, 5.0.4
In a constructor of RecoveryManagerImple expiry scanner is started before initiating
PeriodicRecovery. This causes a problem from time to time, because during the initiation
of PeriodicRecovery (more exact XARecoveryModule) ExtendedResourceRecord is added to the
RecordTypeManager. It has to be there during the expiry scan execution. Since expiry
scanner works in a separate thread it works most of the time, but race condition still
exists. Personally I couldn't reproduce the problem.
Swapping these two actions should solve the problem.