]
Michael Musgrove commented on WFLY-8661:
----------------------------------------
[~smarlow] I do "agree that the org.jboss.tm.listener.TransactionListenerRegistry SPI
contract ensured that the TransactionListener is only called from the application thread
and never the reaper thread?"
The reaper only marks the transaction for rollback only so will never produce listener
notifications.
Transaction is marked disassociated from application thread when
transaction manager reaper thread suspends transaction
-----------------------------------------------------------------------------------------------------------------------
Key: WFLY-8661
URL:
https://issues.jboss.org/browse/WFLY-8661
Project: WildFly
Issue Type: Bug
Components: JPA / Hibernate
Affects Versions: 11.0.0.Alpha1
Reporter: Scott Marlow
Assignee: Scott Marlow
I created a pull request to enable the TxTimeoutTestCase ([JBEAP-10550] + [WFLY-5319])
which required a test change, however, the test is failing for me locally, due to
org.wildfly.transaction.client.LocalTransaction.suspend() calling
notifyAssociationListeners(false) in the TM reaper "tx timeout" thread, which is
wrong, as the app client thread may still be associated with the same transaction.
[
https://gist.github.com/scottmarlow/1ae4a4abe98851b3fe6b1e602ba273d7] shows another
reaper thread association call being made, that shouldn't be.
I'm not sure of how the Narayana org.jboss.tm.listener.TransactionListenerRegistry
SPI, internally ensured that the reaper thread didn't incorrectly perform
association/disassociation but what we have now in WildFly (appears) to be different.