My Oracle Support Banner

JTA Transaction Timeout and Rollback due to Inconsistent Cross Domain Security Configuration (Doc ID 2437769.1)

Last updated on AUGUST 29, 2018

Applies to:

Oracle WebLogic Server - Version 12.2.1.3.0 and later
Information in this document applies to any platform.

Symptoms

JMS global transaction is spawning on two different domains (say Domain1 and Domain2). And it shows that the following errors on the transaction coordinator (lets say Domain1) logs and the transaction gets timed out and rolled back.


<Jul 15, 2018 6:31:46 PM EDT> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "640" seconds working on the request "Workmanager: default, Version: 0, Scheduled=false, Started=true, Started time: 640853 ms
", which is more than the configured time (StuckThreadMaxTime) of "600" seconds in "server-failure-trigger". Stack trace:
   java.lang.Object.wait(Native Method)
   weblogic.transaction.internal.ServerTransactionImpl.waitForPrepareAcks(ServerTransactionImpl.java:2975)
   weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2485)
   weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:294)
   weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:254)
   weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
   weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:362)
   weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:297)
   weblogic.jms.client.JMSSession.onMessage(JMSSession.java:5115)
   weblogic.jms.client.JMSSession.execute(JMSSession.java:4786)
   weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:4174)
   weblogic.jms.client.JMSSession.access$000(JMSSession.java:130)
   weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5635)
   weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:643)
   weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
   weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
   weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
   weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
   weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
   weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
   weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

In this particular case, Domain1 is waiting for acknowledge from Domain2. And the below errors appear in Domain1 logs.


<Aug 10, 2018 3:50:14 PM EDT> <Error> <JTA> <BEA-110495> <User [<anonymous>] is not authorized to invoke AckRollback on a Coordinator.>

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.