Distributed transaction fails with "ORA-01013: user requested cancel of current operation" in EAP 6

Solution Verified - Updated -

Issue

  • Two servers are used in a distributed transaction
  • The transaction coordinator timeout on both servers is set to a large value (e.g. 300 seconds / 5 minutes)
  • An Oracle datasource pool is configured with set-tx-query-timeout set to true
  • A transaction begun on server 1 propagates to server 2 where a database operation fails immediately with ORA-01013
java.sql.SQLException: ORA-01013: user requested cancel of current operation
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194)
        at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:853)
        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1259)
        at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1882)
        at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1847)
        at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:301)
        at org.jboss.jca.adapters.jdbc.WrappedStatement.execute(WrappedStatement.java:157)

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.2.4
    • 6.3.x
    • 6.4.x through 6.4.4

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