[JBoss JIRA] (DROOLS-3318) [DMN Designer] Undefined Expression Grid: Re-design 'decision logic' selector
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3318?page=com.atlassian.jira.plugi... ]
Michael Anstis commented on DROOLS-3318:
----------------------------------------
[~uxdlc] FYI, please see the "DROOLS-3318" image, attached, showing the implementation.
> [DMN Designer] Undefined Expression Grid: Re-design 'decision logic' selector
> -----------------------------------------------------------------------------
>
> Key: DROOLS-3318
> URL: https://issues.jboss.org/browse/DROOLS-3318
> Project: Drools
> Issue Type: Enhancement
> Components: DMN Editor
> Reporter: Liz Clayton
> Assignee: Michael Anstis
> Priority: Major
> Labels: drools-tools
> Attachments: DROOLS-3318.png, logic_pop-over.png
>
>
> * The {{UndefinedExpression}} grid "decision logic" selector (menu to select logic type: Literal expression, Context, etc.) currently uses a double-left mouse click to launch the menu. Given the menu is closer in spirit (and intention) to a popover menu - to provide a more consistent and predictable user experience it would be preferable to launch this menu on a single, left mouse click (will be covered by DROOLS-2910).
> * Re-design the {{UndefinedExpression}} grid "decision logic" selector.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (DROOLS-3318) [DMN Designer] Undefined Expression Grid: Re-design 'decision logic' selector
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3318?page=com.atlassian.jira.plugi... ]
Michael Anstis updated DROOLS-3318:
-----------------------------------
Attachment: DROOLS-3318.png
> [DMN Designer] Undefined Expression Grid: Re-design 'decision logic' selector
> -----------------------------------------------------------------------------
>
> Key: DROOLS-3318
> URL: https://issues.jboss.org/browse/DROOLS-3318
> Project: Drools
> Issue Type: Enhancement
> Components: DMN Editor
> Reporter: Liz Clayton
> Assignee: Michael Anstis
> Priority: Major
> Labels: drools-tools
> Attachments: DROOLS-3318.png, logic_pop-over.png
>
>
> * The {{UndefinedExpression}} grid "decision logic" selector (menu to select logic type: Literal expression, Context, etc.) currently uses a double-left mouse click to launch the menu. Given the menu is closer in spirit (and intention) to a popover menu - to provide a more consistent and predictable user experience it would be preferable to launch this menu on a single, left mouse click (will be covered by DROOLS-2910).
> * Re-design the {{UndefinedExpression}} grid "decision logic" selector.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (DROOLS-3318) [DMN Designer] Undefined Expression Grid: Re-design 'decision logic' selector
by Michael Anstis (Jira)
[ https://issues.jboss.org/browse/DROOLS-3318?page=com.atlassian.jira.plugi... ]
Michael Anstis updated DROOLS-3318:
-----------------------------------
Sprint: 2018 Week 45-47
> [DMN Designer] Undefined Expression Grid: Re-design 'decision logic' selector
> -----------------------------------------------------------------------------
>
> Key: DROOLS-3318
> URL: https://issues.jboss.org/browse/DROOLS-3318
> Project: Drools
> Issue Type: Enhancement
> Components: DMN Editor
> Reporter: Liz Clayton
> Assignee: Michael Anstis
> Priority: Major
> Labels: drools-tools
> Attachments: logic_pop-over.png
>
>
> * The {{UndefinedExpression}} grid "decision logic" selector (menu to select logic type: Literal expression, Context, etc.) currently uses a double-left mouse click to launch the menu. Given the menu is closer in spirit (and intention) to a popover menu - to provide a more consistent and predictable user experience it would be preferable to launch this menu on a single, left mouse click (will be covered by DROOLS-2910).
> * Re-design the {{UndefinedExpression}} grid "decision logic" selector.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-10258) Prevent enlisting additional resources on EJB caller side in case of server side @RequiresNew
by David Lloyd (Jira)
[ https://issues.jboss.org/browse/WFLY-10258?page=com.atlassian.jira.plugin... ]
David Lloyd commented on WFLY-10258:
------------------------------------
Even if you did this you are still stuck with the problem that not every XAR would know how to sort itself with respect to other XARs. There's just no getting around that this is not the correct mechanism to use for this problem.
> Prevent enlisting additional resources on EJB caller side in case of server side @RequiresNew
> ---------------------------------------------------------------------------------------------
>
> Key: WFLY-10258
> URL: https://issues.jboss.org/browse/WFLY-10258
> Project: WildFly
> Issue Type: Bug
> Components: EJB, Transactions
> Affects Versions: 12.0.0.Final
> Reporter: Jörg Bäsner
> Priority: Major
> Labels: downstream_dependency
>
> Scenario:
> - server-1 (intermediary)
> -- Running standalone profile
> -- Has a remote-outbound-connection pointing at server-2 through server-2's public IP address
> -- Intermediary bean need to lookup the Target bean in server-2 and also inject the {{TransactionManager}}
> -- Intermediary bean need to enlist a _dummy_ XAResource
> - server-2 (target)
> -- disable {{JBOSS-LOCAL-USER}} auth
> -- Target bean needs to be annotated with {{@REQUIRES_NEW}} (important)
> - Standalone EJB client invokes an intermediary bean server-1, which as a result invokes target bean on server-2.
> The _dummy_ XAResource should log in the {{commit}} method whether one-phase optimization is being used like:
> {code}
> @Override
> public void commit(Xid arg0, boolean onePhaseOptim) throws XAException {
> logger.info("-- Committing in the client resource. One-phase optimisation is: " + onePhaseOptim + " --"
> + (onePhaseOptim ? "" : " -> TWO-PHASE COMMIT !!!"));
> }
> {code}
> In this scenario it is expected that the one-phase optimization is being used!
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-11360) JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
by Brian Stansberry (Jira)
[ https://issues.jboss.org/browse/WFLY-11360?page=com.atlassian.jira.plugin... ]
Brian Stansberry commented on WFLY-11360:
-----------------------------------------
The issue is that JBossLocalTransactionProvider.Builder lets you configure a TransactionSynchronizationRegistry, which the transaction subsystem does, but then it discards it and relies on reflection calls against com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple or com.arjuna.ats.internal.jta.transaction.jts.TransactionImple. So ContextTransactionSynchronizationRegistry is not suitable for cases like WildFly where access to the specific subsystem provided TSR is necessary.
[~dmlloyd] FYI.
> JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11360
> URL: https://issues.jboss.org/browse/WFLY-11360
> Project: WildFly
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 15.0.0.Beta1
> Reporter: Scott Marlow
> Assignee: Tom Jenkinson
> Priority: Blocker
> Fix For: 15.0.0.CR1
>
>
> JPA container synchronizations are not registered via JCAOrderedLastSynchronizationList, which means that JCA Synchronization#afterCompletion will not always run after JPA Synchronization#afterCompletion.
> Apparently we are doing a JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" for Hibernate ORM integration, which means we are using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper for Hibernate ORM. Should we also be using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper class in other WildFly call sites, instead of org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry?
> Call stack below shows the JPA container sync not being registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:48:42,859 ERROR [stderr] (pool-7-thread-7) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:48:42,865 ERROR [stderr] (pool-7-thread-7) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.transaction.TransactionUtil.registerSynchronization(TransactionUtil.java:74)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:162)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:580)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.test.integration.jpa.transaction.UnsynchronizedSFSB.createAndPropagatedFindMixExceptionExcepted(UnsynchronizedSFSB.java:88)
> {code}
> Call stack below shows the JCA synchronization is also *NOT* registered correctly via JCAOrderedLastSynchronizationList:
> {code}
> 10:45:06,979 ERROR [stderr] (pool-7-thread-8) java.lang.Exception: Stack trace
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.<init>(SynchronizationImple.java:57)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.provider.jboss.JBossJTALocalTransactionProvider.registerInterposedSynchronization(JBossJTALocalTransactionProvider.java:87)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.registerInterposedSynchronization(LocalTransaction.java:202)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.lock(TransactionSynchronizer.java:309)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:311)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:564)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:970)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:87)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:78)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3152)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:511)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3283)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2479)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:352)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.beforeCompletion(JCAOrderedLastSynchronizationList.java:113)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:236)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:247)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction$AssociatingSynchronization.beforeCompletion(AbstractTransaction.java:292)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:360)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1288)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.commitAndDissociate(LocalTransaction.java:77)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionManager.commit(ContextTransactionManager.java:71)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalUserTransaction.commit(LocalUserTransaction.java:53)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:96)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at java.lang.reflect.Method.invoke(Method.java:498)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.StatefulBMTInterceptor.handleInvocation(StatefulBMTInterceptor.java:94)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:58)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:137)
> {code}
> Lastly, the following call stack shows the Hibernate ORM sync being correctly registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:52:20,820 ERROR [stderr] (pool-7-thread-1) java.lang.Exception: Stack trace
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.registerInterposedSynchronization(JCAOrderedLastSynchronizationList.java:64)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:76)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.hibernate5.service.WildFlyCustomJtaPlatform$1.registerSynchronization(WildFlyCustomJtaPlatform.java:45)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.registerSynchronization(AbstractJtaPlatform.java:126)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.joinJtaTransaction(JtaTransactionCoordinatorImpl.java:170)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:158)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:94)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:29)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:204)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:254)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1290)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.buildEntityManager(SessionFactoryImpl.java:628)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:614)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:154)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.createEntityManager(TransactionScopedEntityManager.java:187)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:157)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.AbstractEntityManager.joinTransaction(AbstractEntityManager.java:536)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:93)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-11360) JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
by Scott Marlow (Jira)
[ https://issues.jboss.org/browse/WFLY-11360?page=com.atlassian.jira.plugin... ]
Scott Marlow updated WFLY-11360:
--------------------------------
Priority: Blocker (was: Major)
> JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11360
> URL: https://issues.jboss.org/browse/WFLY-11360
> Project: WildFly
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 15.0.0.Beta1
> Reporter: Scott Marlow
> Assignee: Tom Jenkinson
> Priority: Blocker
> Fix For: 15.0.0.CR1
>
>
> JPA container synchronizations are not registered via JCAOrderedLastSynchronizationList, which means that JCA Synchronization#afterCompletion will not always run after JPA Synchronization#afterCompletion.
> Apparently we are doing a JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" for Hibernate ORM integration, which means we are using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper for Hibernate ORM. Should we also be using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper class in other WildFly call sites, instead of org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry?
> Call stack below shows the JPA container sync not being registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:48:42,859 ERROR [stderr] (pool-7-thread-7) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:48:42,865 ERROR [stderr] (pool-7-thread-7) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.transaction.TransactionUtil.registerSynchronization(TransactionUtil.java:74)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:162)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:580)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.test.integration.jpa.transaction.UnsynchronizedSFSB.createAndPropagatedFindMixExceptionExcepted(UnsynchronizedSFSB.java:88)
> {code}
> Call stack below shows the JCA synchronization is also *NOT* registered correctly via JCAOrderedLastSynchronizationList:
> {code}
> 10:45:06,979 ERROR [stderr] (pool-7-thread-8) java.lang.Exception: Stack trace
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.<init>(SynchronizationImple.java:57)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.provider.jboss.JBossJTALocalTransactionProvider.registerInterposedSynchronization(JBossJTALocalTransactionProvider.java:87)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.registerInterposedSynchronization(LocalTransaction.java:202)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.lock(TransactionSynchronizer.java:309)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:311)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:564)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:970)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:87)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:78)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3152)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:511)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3283)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2479)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:352)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.beforeCompletion(JCAOrderedLastSynchronizationList.java:113)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:236)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:247)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction$AssociatingSynchronization.beforeCompletion(AbstractTransaction.java:292)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:360)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1288)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.commitAndDissociate(LocalTransaction.java:77)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionManager.commit(ContextTransactionManager.java:71)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalUserTransaction.commit(LocalUserTransaction.java:53)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:96)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at java.lang.reflect.Method.invoke(Method.java:498)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.StatefulBMTInterceptor.handleInvocation(StatefulBMTInterceptor.java:94)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:58)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:137)
> {code}
> Lastly, the following call stack shows the Hibernate ORM sync being correctly registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:52:20,820 ERROR [stderr] (pool-7-thread-1) java.lang.Exception: Stack trace
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.registerInterposedSynchronization(JCAOrderedLastSynchronizationList.java:64)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:76)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.hibernate5.service.WildFlyCustomJtaPlatform$1.registerSynchronization(WildFlyCustomJtaPlatform.java:45)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.registerSynchronization(AbstractJtaPlatform.java:126)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.joinJtaTransaction(JtaTransactionCoordinatorImpl.java:170)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:158)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:94)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:29)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:204)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:254)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1290)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.buildEntityManager(SessionFactoryImpl.java:628)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:614)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:154)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.createEntityManager(TransactionScopedEntityManager.java:187)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:157)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.AbstractEntityManager.joinTransaction(AbstractEntityManager.java:536)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:93)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-11360) JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
by Scott Marlow (Jira)
[ https://issues.jboss.org/browse/WFLY-11360?page=com.atlassian.jira.plugin... ]
Scott Marlow commented on WFLY-11360:
-------------------------------------
I confirmed that this was just broken in the past few days. With the 4fafb7d1387efe924be3ebf2f1b8923ef2be188a commit, I was able to verify that JCA/JPA synchronizations, are registered via the JCAOrderedLastSynchronizationList, so WF14 is still working correctly (with regard to JCAOrderedLastSynchronizationList), its only the WF master branch that is currently broken.
> JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11360
> URL: https://issues.jboss.org/browse/WFLY-11360
> Project: WildFly
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 15.0.0.Beta1
> Reporter: Scott Marlow
> Assignee: Tom Jenkinson
> Priority: Major
> Fix For: 15.0.0.CR1
>
>
> JPA container synchronizations are not registered via JCAOrderedLastSynchronizationList, which means that JCA Synchronization#afterCompletion will not always run after JPA Synchronization#afterCompletion.
> Apparently we are doing a JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" for Hibernate ORM integration, which means we are using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper for Hibernate ORM. Should we also be using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper class in other WildFly call sites, instead of org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry?
> Call stack below shows the JPA container sync not being registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:48:42,859 ERROR [stderr] (pool-7-thread-7) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:48:42,865 ERROR [stderr] (pool-7-thread-7) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.transaction.TransactionUtil.registerSynchronization(TransactionUtil.java:74)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:162)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:580)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.test.integration.jpa.transaction.UnsynchronizedSFSB.createAndPropagatedFindMixExceptionExcepted(UnsynchronizedSFSB.java:88)
> {code}
> Call stack below shows the JCA synchronization is also *NOT* registered correctly via JCAOrderedLastSynchronizationList:
> {code}
> 10:45:06,979 ERROR [stderr] (pool-7-thread-8) java.lang.Exception: Stack trace
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.<init>(SynchronizationImple.java:57)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.provider.jboss.JBossJTALocalTransactionProvider.registerInterposedSynchronization(JBossJTALocalTransactionProvider.java:87)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.registerInterposedSynchronization(LocalTransaction.java:202)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.lock(TransactionSynchronizer.java:309)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:311)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:564)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:970)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:87)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:78)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3152)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:511)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3283)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2479)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:352)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.beforeCompletion(JCAOrderedLastSynchronizationList.java:113)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:236)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:247)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction$AssociatingSynchronization.beforeCompletion(AbstractTransaction.java:292)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:360)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1288)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.commitAndDissociate(LocalTransaction.java:77)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionManager.commit(ContextTransactionManager.java:71)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalUserTransaction.commit(LocalUserTransaction.java:53)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:96)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at java.lang.reflect.Method.invoke(Method.java:498)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.StatefulBMTInterceptor.handleInvocation(StatefulBMTInterceptor.java:94)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:58)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:137)
> {code}
> Lastly, the following call stack shows the Hibernate ORM sync being correctly registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:52:20,820 ERROR [stderr] (pool-7-thread-1) java.lang.Exception: Stack trace
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.registerInterposedSynchronization(JCAOrderedLastSynchronizationList.java:64)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:76)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.hibernate5.service.WildFlyCustomJtaPlatform$1.registerSynchronization(WildFlyCustomJtaPlatform.java:45)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.registerSynchronization(AbstractJtaPlatform.java:126)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.joinJtaTransaction(JtaTransactionCoordinatorImpl.java:170)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:158)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:94)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:29)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:204)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:254)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1290)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.buildEntityManager(SessionFactoryImpl.java:628)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:614)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:154)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.createEntityManager(TransactionScopedEntityManager.java:187)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:157)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.AbstractEntityManager.joinTransaction(AbstractEntityManager.java:536)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:93)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-11360) JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
by Scott Marlow (Jira)
[ https://issues.jboss.org/browse/WFLY-11360?page=com.atlassian.jira.plugin... ]
Scott Marlow commented on WFLY-11360:
-------------------------------------
I'll try to reproduce with 4fafb7d1387efe924be3ebf2f1b8923ef2be188a (git checkout 4fafb7d1387efe924be3ebf2f1b8923ef2be188a), to see if my previous comment is correct. I'll be happier if [WFLY-11360] isn't broken in WF14.
> JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11360
> URL: https://issues.jboss.org/browse/WFLY-11360
> Project: WildFly
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 15.0.0.Beta1
> Reporter: Scott Marlow
> Assignee: Tom Jenkinson
> Priority: Major
> Fix For: 15.0.0.CR1
>
>
> JPA container synchronizations are not registered via JCAOrderedLastSynchronizationList, which means that JCA Synchronization#afterCompletion will not always run after JPA Synchronization#afterCompletion.
> Apparently we are doing a JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" for Hibernate ORM integration, which means we are using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper for Hibernate ORM. Should we also be using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper class in other WildFly call sites, instead of org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry?
> Call stack below shows the JPA container sync not being registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:48:42,859 ERROR [stderr] (pool-7-thread-7) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:48:42,865 ERROR [stderr] (pool-7-thread-7) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.transaction.TransactionUtil.registerSynchronization(TransactionUtil.java:74)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:162)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:580)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.test.integration.jpa.transaction.UnsynchronizedSFSB.createAndPropagatedFindMixExceptionExcepted(UnsynchronizedSFSB.java:88)
> {code}
> Call stack below shows the JCA synchronization is also *NOT* registered correctly via JCAOrderedLastSynchronizationList:
> {code}
> 10:45:06,979 ERROR [stderr] (pool-7-thread-8) java.lang.Exception: Stack trace
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.<init>(SynchronizationImple.java:57)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.provider.jboss.JBossJTALocalTransactionProvider.registerInterposedSynchronization(JBossJTALocalTransactionProvider.java:87)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.registerInterposedSynchronization(LocalTransaction.java:202)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.lock(TransactionSynchronizer.java:309)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:311)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:564)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:970)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:87)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:78)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3152)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:511)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3283)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2479)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:352)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.beforeCompletion(JCAOrderedLastSynchronizationList.java:113)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:236)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:247)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction$AssociatingSynchronization.beforeCompletion(AbstractTransaction.java:292)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:360)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1288)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.commitAndDissociate(LocalTransaction.java:77)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionManager.commit(ContextTransactionManager.java:71)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalUserTransaction.commit(LocalUserTransaction.java:53)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:96)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at java.lang.reflect.Method.invoke(Method.java:498)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.StatefulBMTInterceptor.handleInvocation(StatefulBMTInterceptor.java:94)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:58)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:137)
> {code}
> Lastly, the following call stack shows the Hibernate ORM sync being correctly registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:52:20,820 ERROR [stderr] (pool-7-thread-1) java.lang.Exception: Stack trace
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.registerInterposedSynchronization(JCAOrderedLastSynchronizationList.java:64)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:76)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.hibernate5.service.WildFlyCustomJtaPlatform$1.registerSynchronization(WildFlyCustomJtaPlatform.java:45)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.registerSynchronization(AbstractJtaPlatform.java:126)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.joinJtaTransaction(JtaTransactionCoordinatorImpl.java:170)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:158)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:94)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:29)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:204)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:254)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1290)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.buildEntityManager(SessionFactoryImpl.java:628)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:614)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:154)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.createEntityManager(TransactionScopedEntityManager.java:187)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:157)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.AbstractEntityManager.joinTransaction(AbstractEntityManager.java:536)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:93)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-11360) JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
by Scott Marlow (Jira)
[ https://issues.jboss.org/browse/WFLY-11360?page=com.atlassian.jira.plugin... ]
Scott Marlow commented on WFLY-11360:
-------------------------------------
Looks like connector/src/main/java/org/jboss/as/connector/services/transactionintegration/TransactionIntegrationService.java was only recently broken (5 days ago), if I'm reading the history correctly via [WFLY-11166].
> JCAOrderedLastSynchronizationList shouldn't be skipped for org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry registered Synchronizations
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11360
> URL: https://issues.jboss.org/browse/WFLY-11360
> Project: WildFly
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 15.0.0.Beta1
> Reporter: Scott Marlow
> Assignee: Tom Jenkinson
> Priority: Major
> Fix For: 15.0.0.CR1
>
>
> JPA container synchronizations are not registered via JCAOrderedLastSynchronizationList, which means that JCA Synchronization#afterCompletion will not always run after JPA Synchronization#afterCompletion.
> Apparently we are doing a JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" for Hibernate ORM integration, which means we are using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper for Hibernate ORM. Should we also be using the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper class in other WildFly call sites, instead of org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry?
> Call stack below shows the JPA container sync not being registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:48:42,859 ERROR [stderr] (pool-7-thread-7) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:48:42,865 ERROR [stderr] (pool-7-thread-7) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.transaction.TransactionUtil.registerSynchronization(TransactionUtil.java:74)
> 10:48:42,866 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:162)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:580)
> 10:48:42,867 ERROR [stderr] (pool-7-thread-7) at org.jboss.as.test.integration.jpa.transaction.UnsynchronizedSFSB.createAndPropagatedFindMixExceptionExcepted(UnsynchronizedSFSB.java:88)
> {code}
> Call stack below shows the JCA synchronization is also *NOT* registered correctly via JCAOrderedLastSynchronizationList:
> {code}
> 10:45:06,979 ERROR [stderr] (pool-7-thread-8) java.lang.Exception: Stack trace
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.<init>(SynchronizationImple.java:57)
> 10:45:06,980 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.provider.jboss.JBossJTALocalTransactionProvider.registerInterposedSynchronization(JBossJTALocalTransactionProvider.java:87)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.registerInterposedSynchronization(LocalTransaction.java:202)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry.registerInterposedSynchronization(ContextTransactionSynchronizationRegistry.java:77)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer.lock(TransactionSynchronizer.java:309)
> 10:45:06,981 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:311)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:564)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:970)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
> 10:45:06,982 ERROR [stderr] (pool-7-thread-8) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
> 10:45:06,983 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:47)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:87)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:78)
> 10:45:06,984 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3152)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356)
> 10:45:06,985 ERROR [stderr] (pool-7-thread-8) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:511)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3283)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2479)
> 10:45:06,986 ERROR [stderr] (pool-7-thread-8) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.beforeCompletion(JtaTransactionCoordinatorImpl.java:352)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.beforeCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:47)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:37)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.beforeCompletion(JCAOrderedLastSynchronizationList.java:113)
> 10:45:06,987 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:236)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction.performConsumer(AbstractTransaction.java:247)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.AbstractTransaction$AssociatingSynchronization.beforeCompletion(AbstractTransaction.java:292)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:360)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
> 10:45:06,988 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1288)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalTransaction.commitAndDissociate(LocalTransaction.java:77)
> 10:45:06,989 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.ContextTransactionManager.commit(ContextTransactionManager.java:71)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.wildfly.transaction.client.LocalUserTransaction.commit(LocalUserTransaction.java:53)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:96)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at java.lang.reflect.Method.invoke(Method.java:498)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
> 10:45:06,990 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:90)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
> 10:45:06,991 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.StatefulBMTInterceptor.handleInvocation(StatefulBMTInterceptor.java:94)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:58)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
> 10:45:06,992 ERROR [stderr] (pool-7-thread-8) at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:137)
> {code}
> Lastly, the following call stack shows the Hibernate ORM sync being correctly registered via JCAOrderedLastSynchronizationList:
> {code}
> 10:52:20,820 ERROR [stderr] (pool-7-thread-1) java.lang.Exception: Stack trace
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at java.lang.Thread.dumpStack(Thread.java:1336)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.JCAOrderedLastSynchronizationList.registerInterposedSynchronization(JCAOrderedLastSynchronizationList.java:64)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:76)
> 10:52:20,821 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.hibernate5.service.WildFlyCustomJtaPlatform$1.registerSynchronization(WildFlyCustomJtaPlatform.java:45)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.registerSynchronization(AbstractJtaPlatform.java:126)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.joinJtaTransaction(JtaTransactionCoordinatorImpl.java:170)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:158)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:94)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:29)
> 10:52:20,822 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:204)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:254)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1290)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.buildEntityManager(SessionFactoryImpl.java:628)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:614)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:154)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.createEntityManager(TransactionScopedEntityManager.java:187)
> 10:52:20,823 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getOrCreateTransactionScopedEntityManager(TransactionScopedEntityManager.java:157)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.TransactionScopedEntityManager.getEntityManager(TransactionScopedEntityManager.java:87)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.jpa.container.AbstractEntityManager.joinTransaction(AbstractEntityManager.java:536)
> 10:52:20,824 ERROR [stderr] (pool-7-thread-1) at org.jboss.as.test.integration.jpa.transaction.SFSB1.createEmployee(SFSB1.java:93)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months
[JBoss JIRA] (WFLY-10258) Prevent enlisting additional resources on EJB caller side in case of server side @RequiresNew
by Tom Jenkinson (Jira)
[ https://issues.jboss.org/browse/WFLY-10258?page=com.atlassian.jira.plugin... ]
Tom Jenkinson commented on WFLY-10258:
--------------------------------------
I was meaning that by delaying the sort until the point where you will can make a reasonable understanding of whether you will be able to return RDONLY and therefore can't get inconsistent behaviour at that particular point. The implementation would be as follows:
{code}
public int compareTo(OtherEJBRemoteResource) {
if (I know I am going to return RDONLY from prepare)
if (OtherEJBRemoteResource is not going to return RDONLY from prepare)
return -1
else
if (OtherEJBRemoteResource knows it is going to return RDONLY from prepare)
return 1
return 0 // you don't know that you are going to return RDONLY from prepare so can't execute the 1PC optimization
{code}
That basically relies on the fact that the knowledge you are definitely RDONLY doesn't change between the time the transaction manager calls xa_end and the time it calls xa_prepare during the 2PC process which was an assumption (to get the benefit) of JBTM-3020.
I do acknowledge that the comparison would change up to that point of this lifecyle so perhaps it is safer to add a method on https://github.com/jbosstm/jboss-transaction-spi/blob/master/src/main/jav... to provide a sortable reference (a bit closer to JBTM-3020) in case some other library sorts these references rather than Narayana at this particular point.
{code}
SortableXAResource getSortableReference () {
if (I am RDONLY) {
return SortableReference(true, this);
else {
return SortableReference(false, this);
}
private class SortableReference implements Comparator
{
boolean definitelyRDONLY;
XAResourceWrapper instanceToInvokeOn;
public int compareTo(OtherSortableReference ) {
if (definitelyRDONLY)
if (!OtherSortableReference.definitelyRDONLY)
return -1
else
if (OtherSortableReference.definitelyRDONLY)
return 1
return 0
}
}
{code}
> Prevent enlisting additional resources on EJB caller side in case of server side @RequiresNew
> ---------------------------------------------------------------------------------------------
>
> Key: WFLY-10258
> URL: https://issues.jboss.org/browse/WFLY-10258
> Project: WildFly
> Issue Type: Bug
> Components: EJB, Transactions
> Affects Versions: 12.0.0.Final
> Reporter: Jörg Bäsner
> Priority: Major
> Labels: downstream_dependency
>
> Scenario:
> - server-1 (intermediary)
> -- Running standalone profile
> -- Has a remote-outbound-connection pointing at server-2 through server-2's public IP address
> -- Intermediary bean need to lookup the Target bean in server-2 and also inject the {{TransactionManager}}
> -- Intermediary bean need to enlist a _dummy_ XAResource
> - server-2 (target)
> -- disable {{JBOSS-LOCAL-USER}} auth
> -- Target bean needs to be annotated with {{@REQUIRES_NEW}} (important)
> - Standalone EJB client invokes an intermediary bean server-1, which as a result invokes target bean on server-2.
> The _dummy_ XAResource should log in the {{commit}} method whether one-phase optimization is being used like:
> {code}
> @Override
> public void commit(Xid arg0, boolean onePhaseOptim) throws XAException {
> logger.info("-- Committing in the client resource. One-phase optimisation is: " + onePhaseOptim + " --"
> + (onePhaseOptim ? "" : " -> TWO-PHASE COMMIT !!!"));
> }
> {code}
> In this scenario it is expected that the one-phase optimization is being used!
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months