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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In