Process execution fails with transaction timeout in RHPAM with DB based timer setting

Solution In Progress - Updated -

Issue

We have set up a RHPAM 7.0.2 instance using Oracle for jBPM as well as for the ejb timer configuration:

<xa-datasource jndi-name="java:jboss/datasources/ejb_timer" pool-name="ejb_timer-EJB_TIMER" use-java-context="true" enabled="true">
    <xa-datasource-property name="URL">jdbc:oracle:thin:@oracle.server:1521:DB1</xa-datasource-property>
    <driver>oracle</driver>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
        <min-pool-size>10</min-pool-size>
        <max-pool-size>10</max-pool-size>
    </xa-pool>
    <security>
        <user-name>RHPAM</user-name>
        <password>RHPAM</password>
    </security>
</xa-datasource>
<xa-datasource jndi-name="java:/jboss/datasources/rhpam" pool-name="rhpam-RHPAM" use-java-context="true" enabled="true">
    <xa-datasource-property name="URL">jdbc:oracle:thin:@oracle.server:1521:DB1</xa-datasource-property>
    <driver>oracle</driver>
    <security>
        <user-name>RHPAM</user-name>
        <password>RHPAM</password>
    </security>
</xa-datasource>

Once we start a new instance of our process definition, the kie-server executes all of the steps defined in the process definition but fails to respond to the caller. After 5mins, which is the default transaction timeout, the following exception occurs:

WARN  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (default task-7) IJ000305: Connection error occured: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@2c9002eb[state=NORMAL managed connection=org.jboss.jca
.adapters.jdbc.xa.XAManagedConnection@2f318931 connection handles=0 lastReturned=1537182686997 lastValidated=1537178036483 lastCheckedOut=1537182688337 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@4439be43 mcp=SemaphoreConcurren
tLinkedQueueManagedConnectionPool@61b12a56[pool=ejb_timer-EJB_TIMER] xaResource=XAResourceWrapperImpl@6c390ba1[xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@2f318931 pad=false overrideRmValue=null productName=Oracle productVersion=Oracle Database
 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production jndiName=java:jboss/datasources/ejb_timer] txSync=TransactionSynchronization@336037344{tx=Local transaction (delegate=TransactionImple < ac, BasicAction: 0:ffff0a8300ee:-71e3a257:5b9f79b3:bbd status: 
ActionStatus.RUNNING >, owner=Local transaction context for provider JBoss JTA transaction provider) wasTrackByTx=true enlisted=false cancel=false}]: oracle.jdbc.xa.OracleXAException
        at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1188)
        at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:253)
        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:263)
        at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.start(XAResourceWrapperImpl.java:215)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:741)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:423)
        at org.wildfly.transaction.client.LocalTransaction.enlistResource(LocalTransaction.java:157)
        at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener$TransactionSynchronization.enlist(TxConnectionListener.java:986)
        at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:379)
        at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:554)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:970)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
        at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
        at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
        at org.jboss.as.ejb3.timerservice.persistence.database.DatabaseTimerPersistence.addTimer(DatabaseTimerPersistence.java:329)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.persistTimer(TimerServiceImpl.java:608)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.createTimer(TimerServiceImpl.java:482)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.createSingleActionTimer(TimerServiceImpl.java:307)
        at org.jbpm.services.ejb.timer.EJBTimerScheduler.internalSchedule(EJBTimerScheduler.java:103)

Environment

  • Red Hat Process Automation Manager
    • 7.0.2

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content