My Oracle Support Banner

How to Estimate the Value for the Engine Property "Maximum number of instances to dispose per transaction" (Doc ID 983023.1)

Last updated on OCTOBER 30, 2019

Applies to:

Oracle Business Process Management Suite - Version 6.0.0 to 10.3
Information in this document applies to any platform.
***Checked for relevance on 10-Jan-2012***


Goal

Disposer is failing due to a Transaction timeout exception and disposable instances are not removed from engine database. Need a way to determine the value to be set for the engine property "Maximum number of instances to dispose per transaction" so that the disposer makes partial commits and does not time out.

Exception found in engine logs:

Could not dispose instances.
Details:
An error occurred while accesing the database.
Detail:SQL statement: 'unknown'

Caused by: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 602 seconds
BEA1-21E6F0657883713FDB85
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331)
at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:83)
at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:473)
at fuego.jdbc.FaultTolerantConnection.prepareStatement(FaultTolerantConnection.java:543)
at fuego.server.persistence.jdbc.JdbcDecisionPersMgr.removeUnusedData(JdbcDecisionPersMgr.java:422)
at fuego.server.persistence.Persistence.removeUnusedData(Persistence.java:1096)
at fuego.server.execution.Caducator.updateDecisionInformation(Caducator.java:254)
at fuego.server.execution.Caducator.execute(Caducator.java:216)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:63)
at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)
at fuego.ejbengine.ItemExecutionBean$1.execute(ItemExecutionBean.java:212)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.ejbengine.ItemExecutionBean.processMessage(ItemExecutionBean.java:198)
at fuego.ejbengine.ItemExecutionBean.onMessage(ItemExecutionBean.java:110)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3964)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

fuego.transaction.DatabaseException: An error occurred while accesing the database.
Detail:SQL statement: 'unknown'

at fuego.server.persistence.jdbc.JdbcDecisionPersMgr.removeUnusedData(JdbcDecisionPersMgr.java:428)
at fuego.server.persistence.Persistence.removeUnusedData(Persistence.java:1096)
at fuego.server.execution.Caducator.updateDecisionInformation(Caducator.java:254)
at fuego.server.execution.Caducator.execute(Caducator.java:216)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:63)
at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)
at fuego.ejbengine.ItemExecutionBean$1.execute(ItemExecutionBean.java:212)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.ejbengine.ItemExecutionBean.processMessage(ItemExecutionBean.java:198)
at fuego.ejbengine.ItemExecutionBean.onMessage(ItemExecutionBean.java:110)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3964)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
Caused by: java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 602 seconds
BEA1-21E6F0657883713FDB85
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331)
at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:83)
at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:473)
at fuego.jdbc.FaultTolerantConnection.prepareStatement(FaultTolerantConnection.java:543)
at fuego.server.persistence.jdbc.JdbcDecisionPersMgr.removeUnusedData(JdbcDecisionPersMgr.java:422)
at fuego.server.persistence.Persistence.removeUnusedData(Persistence.java:1096)
at fuego.server.execution.Caducator.updateDecisionInformation(Caducator.java:254)
at fuego.server.execution.Caducator.execute(Caducator.java:216)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:63)
at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)
at fuego.ejbengine.ItemExecutionBean$1.execute(ItemExecutionBean.java:212)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.ejbengine.ItemExecutionBean.processMessage(ItemExecutionBean.java:198)
at fuego.ejbengine.ItemExecutionBean.onMessage(ItemExecutionBean.java:110)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3964)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1344)
at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:83)
at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:473)
at fuego.jdbc.FaultTolerantConnection.prepareStatement(FaultTolerantConnection.java:543)
at fuego.server.persistence.jdbc.JdbcDecisionPersMgr.removeUnusedData(JdbcDecisionPersMgr.java:422)
... 29 more

Solution

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
Goal
Solution
 For BPM version 10.3.1 and earlier (6.x, 5.x)
 For BPM version 10.3.2 and newer


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