In reaper thread, org.wildfly.transaction.client.LocalTransaction.suspend calling notifyAssociationListeners(false), which is very bad as the app client thread may still be associated with the same transaction
"Transaction Reaper Worker 7@17757" daemon prio=5 tid=0x129 nid=NA runnable | |
java.lang.Thread.State: RUNNABLE | |
at org.jboss.as.jpa.transaction.TransactionUtil$SessionSynchronization.associationChanged(TransactionUtil.java:189) | |
- locked <0x46db> (a org.jboss.as.jpa.transaction.TransactionUtil$SessionSynchronization) | |
at org.wildfly.transaction.client.AbstractTransaction.notifyAssociationListeners(AbstractTransaction.java:85) | |
at org.wildfly.transaction.client.LocalTransaction.suspend(LocalTransaction.java:208) | |
at org.wildfly.transaction.client.ContextTransactionManager.suspend(ContextTransactionManager.java:124) | |
at org.wildfly.transaction.client.AbstractTransaction$$Lambda$835.743437579.close(Unknown Source:-1) | |
at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:199) | |
at org.wildfly.transaction.client.AbstractTransaction$AssociatingSynchronization.afterCompletion(AbstractTransaction.java:276) | |
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96) | |
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:542) | |
- locked <0x4712> (a java.lang.Object) | |
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:473) | |
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:127) | |
at com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:215) | |
at com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:381) | |
at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:78) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment