Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-8661

Transaction is marked disassociated from application thread when transaction manager reaper thread suspends transaction

    Details

    • Steps to Reproduce:
      Hide

      Using the test fix from https://github.com/wildfly/wildfly/pull/9981, in wildfly/testsuite/integration/basic, run "mvn clean install -Dtest=org.jboss.as.test.integration.jpa.mockprovider.txtimeout.TxTimeoutTestCase"

      Show
      Using the test fix from https://github.com/wildfly/wildfly/pull/9981 , in wildfly/testsuite/integration/basic, run "mvn clean install -Dtest=org.jboss.as.test.integration.jpa.mockprovider.txtimeout.TxTimeoutTestCase"

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  smarlow Scott Marlow
                  Reporter:
                  smarlow Scott Marlow
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: