[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:
------------------------------------
It doesn't matter if you only sort once. Sort algorithms generally probe each item more than once; if the item returns an inconsistent answer then you have undefined behavior. Also returning a constant value from a comparator is always inconsistent because A might be less than B and B less than A because they both return -1, which also gives you undefined behavior. Undefined behavior can include wrong results, or a lockup of the sort, or your computer exploding. All would be in spec.
> 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-10841) XA recovery warnings when server reloaded
by Ondra Chaloupka (Jira)
[ https://issues.jboss.org/browse/WFLY-10841?page=com.atlassian.jira.plugin... ]
Ondra Chaloupka commented on WFLY-10841:
----------------------------------------
[~tomjenkinson] my suspicion and investigation is summarized at https://issues.jboss.org/browse/JBEAP-15226?focusedCommentId=13622066#com.... My suspicion was it's a race condition on stopping recovery manager and unregistering resources while starting on reload and registering again. Even I'm not 100% sure I agree I think it's rather the issue of integration of Artemis AMQ to WildFly.
> XA recovery warnings when server reloaded
> -----------------------------------------
>
> Key: WFLY-10841
> URL: https://issues.jboss.org/browse/WFLY-10841
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 13.0.0.Final
> Reporter: Chao Wang
> Assignee: Ondra Chaloupka
> Priority: Minor
>
> Following warning messages are outputted when server reloaded.
> {code}
> 15:33:52,740 WARN [org.apache.activemq.artemis.service.extensions.xa.recovery] (Periodic Recovery) AMQ122015: Can not connect to XARecoveryConfig [transportConfiguration=[TransportConfiguration(name=, factory=org-apache-activemq-artemi
> s-core-remoting-impl-invm-InVMConnectorFactory) ?serverId=0], discoveryConfiguration=null, username=null, password=****, JNDI_NAME=java:/JmsXA] on auto-generated resource recovery: ActiveMQNotConnectedException[errorType=NOT_CONNECTED m
> essage=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:787)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.connect(ActiveMQXAResourceWrapper.java:311)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:239)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.recover(ActiveMQXAResourceWrapper.java:69)
> at org.apache.activemq.artemis.service.extensions.xa.ActiveMQXAResourceWrapperImpl.recover(ActiveMQXAResourceWrapperImpl.java:106)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:791)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:482)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:233)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:150)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:140)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:765)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> 15:33:52,752 WARN [org.apache.activemq.artemis.service.extensions.xa.recovery] (Periodic Recovery) AMQ122008: XA Recovery can not connect to any broker on recovery [XARecoveryConfig [transportConfiguration=[TransportConfiguration(name=
> , factory=org-apache-activemq-artemis-core-remoting-impl-invm-InVMConnectorFactory) ?serverId=0], discoveryConfiguration=null, username=null, password=****, JNDI_NAME=java:/JmsXA]]
> 15:33:52,752 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMFAIL: javax.transaction.xa.XAException: Error trying to connect to any providers for xa reco
> very
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:258)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.recover(ActiveMQXAResourceWrapper.java:69)
> at org.apache.activemq.artemis.service.extensions.xa.ActiveMQXAResourceWrapperImpl.recover(ActiveMQXAResourceWrapperImpl.java:106)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:791)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:482)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:233)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:150)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:140)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:765)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=null]
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.connect(ActiveMQXAResourceWrapper.java:345)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:239)
> ... 9 more
> {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:
-------------------------------------
[~tomjenkinson] I think that a few code sites (like JPA container + IronJacamar) are directly depending on org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry which contributes to this ordering bug.
Some hits in wildfly (with unit tests removed):
{quote}
grep -rli org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry --include=*.java
datasources-agroal/src/main/java/org/wildfly/extension/datasources/agroal/DataSourceService.java
datasources-agroal/src/main/java/org/wildfly/extension/datasources/agroal/deployment/DataSourceDefinitionService.java
picketlink/src/main/java/org/wildfly/extension/picketlink/idm/service/JPAIdentityStoreService.java
jpa/subsystem/src/main/java/org/jboss/as/jpa/processor/PersistenceUnitServiceHandler.java
jpa/subsystem/src/main/java/org/jboss/as/jpa/transaction/JtaManagerImpl.java
jpa/subsystem/src/main/java/org/jboss/as/jpa/container/ExtendedEntityManager.java
jpa/subsystem/src/main/java/org/jboss/as/jpa/container/TransactionScopedEntityManager.java
jpa/subsystem/src/main/java/org/jboss/as/jpa/injectors/PersistenceContextInjectionSource.java
weld/jpa/src/main/java/org/jboss/as/weld/services/bootstrap/WeldJpaInjectionServices.java
transactions/src/main/java/org/jboss/as/txn/service/internal/tsr/JCAOrderedLastSynchronizationList.java
transactions/src/main/java/org/jboss/as/txn/service/internal/tsr/TransactionSynchronizationRegistryWrapper.java
transactions/src/main/java/org/jboss/as/txn/service/TransactionSynchronizationRegistryService.java
transactions/src/main/java/org/jboss/as/txn/service/TxnServices.java
clustering/infinispan/extension/src/main/java/org/jboss/as/clustering/infinispan/subsystem/TransactionServiceConfigurator.java
ejb3/src/main/java/org/jboss/as/ejb3/timerservice/persistence/filestore/FileTimerPersistence.java
ejb3/src/main/java/org/jboss/as/ejb3/timerservice/TimerServiceImpl.java
ejb3/src/main/java/org/jboss/as/ejb3/cache/distributable/DistributableCacheFactoryService.java
ejb3/src/main/java/org/jboss/as/ejb3/component/EJBComponent.java
ejb3/src/main/java/org/jboss/as/ejb3/component/stateful/StatefulSessionSynchronizationInterceptor.java
connector/src/main/java/org/jboss/as/connector/services/transactionintegration/TransactionIntegrationService.java
{quote}
> 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-10841) XA recovery warnings when server reloaded
by Tom Jenkinson (Jira)
[ https://issues.jboss.org/browse/WFLY-10841?page=com.atlassian.jira.plugin... ]
Tom Jenkinson commented on WFLY-10841:
--------------------------------------
[~ochaloup] when we reload the recovery manager do we keep the reference to the old XAResources perhaps? If not this seems like it is an issue in Artemis itself
> XA recovery warnings when server reloaded
> -----------------------------------------
>
> Key: WFLY-10841
> URL: https://issues.jboss.org/browse/WFLY-10841
> Project: WildFly
> Issue Type: Bug
> Components: JMS, Transactions
> Affects Versions: 13.0.0.Final
> Reporter: Chao Wang
> Assignee: Ondra Chaloupka
> Priority: Minor
>
> Following warning messages are outputted when server reloaded.
> {code}
> 15:33:52,740 WARN [org.apache.activemq.artemis.service.extensions.xa.recovery] (Periodic Recovery) AMQ122015: Can not connect to XARecoveryConfig [transportConfiguration=[TransportConfiguration(name=, factory=org-apache-activemq-artemi
> s-core-remoting-impl-invm-InVMConnectorFactory) ?serverId=0], discoveryConfiguration=null, username=null, password=****, JNDI_NAME=java:/JmsXA] on auto-generated resource recovery: ActiveMQNotConnectedException[errorType=NOT_CONNECTED m
> essage=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:787)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.connect(ActiveMQXAResourceWrapper.java:311)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:239)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.recover(ActiveMQXAResourceWrapper.java:69)
> at org.apache.activemq.artemis.service.extensions.xa.ActiveMQXAResourceWrapperImpl.recover(ActiveMQXAResourceWrapperImpl.java:106)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:791)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:482)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:233)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:150)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:140)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:765)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> 15:33:52,752 WARN [org.apache.activemq.artemis.service.extensions.xa.recovery] (Periodic Recovery) AMQ122008: XA Recovery can not connect to any broker on recovery [XARecoveryConfig [transportConfiguration=[TransportConfiguration(name=
> , factory=org-apache-activemq-artemis-core-remoting-impl-invm-InVMConnectorFactory) ?serverId=0], discoveryConfiguration=null, username=null, password=****, JNDI_NAME=java:/JmsXA]]
> 15:33:52,752 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMFAIL: javax.transaction.xa.XAException: Error trying to connect to any providers for xa reco
> very
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:258)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.recover(ActiveMQXAResourceWrapper.java:69)
> at org.apache.activemq.artemis.service.extensions.xa.ActiveMQXAResourceWrapperImpl.recover(ActiveMQXAResourceWrapperImpl.java:106)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:791)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:482)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:233)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:150)
> at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:140)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:765)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=null]
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.connect(ActiveMQXAResourceWrapper.java:345)
> at org.apache.activemq.artemis.service.extensions.xa.recovery.ActiveMQXAResourceWrapper.getDelegate(ActiveMQXAResourceWrapper.java:239)
> ... 9 more
> {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 edited comment on WFLY-11360 at 11/15/18 12:13 PM:
----------------------------------------------------------------
[~maeste] does *org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer* depend directly on org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry? From the above call stack, it appears to, see "all stack below shows the JCA synchronization is also NOT registered correctly via JCAOrderedLastSynchronizationList".
I think that IJ will need to switch to org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper. Alternative could be to do a (slow) JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" exactly once and cache the result in a static.
[~tomjenkinson] I suppose that a minimal fix, could be ensure that JCA + JPA container/persistence provider syncs, use org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper. But longer term, having fewer TSR implementations, would be better.
Other WildFly call sites that seem to directly use org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry, are EJB + JMS.
was (Author: smarlow):
[~maeste] does org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry depend directly on org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry? From the above call stack, it appears to, see "all stack below shows the JCA synchronization is also NOT registered correctly via JCAOrderedLastSynchronizationList".
I think that IJ will need to switch to org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper. Alternative could be to do a (slow) JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" exactly once and cache the result in a static.
[~tomjenkinson] I suppose that a minimal fix, could be ensure that JCA + JPA container/persistence provider syncs, use org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper. But longer term, having fewer TSR implementations, would be better.
Other WildFly call sites that seem to directly use org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry, are EJB + JMS.
> 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:
-------------------------------------
Hi [~ochaloup] that is an excellent point! I think that the JCAOrderedLastSynchronizationList class will accomplish correct ordering of the JCA/JPA syncs, if all of the JCA/JPA related synchronization classes are registered via the org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper, which I mentioned in my previous comment as a minimal solution.
Also a good question that I think your implying, is what does a JNDI lookup of "java:comp/TransactionSynchronizationRegistry" return? I'm not sure. If this jira calls for a maximal solution, of eliminating the duplicate TransactionSynchronizationRegistry implementations, then that will be important to answer.
> 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 Tom Jenkinson (Jira)
[ https://issues.jboss.org/browse/WFLY-11360?page=com.atlassian.jira.plugin... ]
Tom Jenkinson commented on WFLY-11360:
--------------------------------------
I think that everyone should be changes to use the TSRW wrapper. That could be done in here I think: https://github.com/wildfly/wildfly-transaction-client/blob/2802ea2b1ac9ee...
> 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:
-------------------------------------
[~maeste] does org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry depend directly on org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry? From the above call stack, it appears to, see "all stack below shows the JCA synchronization is also NOT registered correctly via JCAOrderedLastSynchronizationList".
I think that IJ will need to switch to org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper. Alternative could be to do a (slow) JNDI lookup of "java:jboss/TransactionSynchronizationRegistry" exactly once and cache the result in a static.
[~tomjenkinson] I suppose that a minimal fix, could be ensure that JCA + JPA container/persistence provider syncs, use org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper. But longer term, having fewer TSR implementations, would be better.
Other WildFly call sites that seem to directly use org.wildfly.transaction.client.ContextTransactionSynchronizationRegistry, are EJB + JMS.
> 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] (WFCORE-4228) Weld subsystem should declare a capability
by Yeray Borges (Jira)
Yeray Borges created WFCORE-4228:
------------------------------------
Summary: Weld subsystem should declare a capability
Key: WFCORE-4228
URL: https://issues.jboss.org/browse/WFCORE-4228
Project: WildFly Core
Issue Type: Bug
Components: Server
Reporter: Yeray Borges
Assignee: Yeray Borges
This issue is filed to to track the required changes in wildfly-core to complete the work on WFLY-11186
Specifically it was identified the following minor changes:
* Make WeldDeploymentMarker available on wildfly-server, where other there are other clases that serve a similar purposes (JPADeploymentMarker, EjbDeploymentMarker)
* Add a method signature that allow retrieve an optional capability API from CapabilityServiceSupport without throwing a checked exception. That can be useful when we need a capability API that it is optional for the demanding subsystem
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 8 months