Parameterizable EJB transaction timeout being overridden in JBoss EAP 6

Solution Verified - Updated

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.1
    • 6.2
  • EJB Remoting / JTA

Issue

  • The transaction timeout period has been configured on two servers to be greater than 300 seconds (e.g. 5400 seconds)
  • A remote call from one server to the other takes more than 5 minutes and the global transaction is timed out
    • The timeout imposed on the remote call seems to be hardcoded to 300 seconds (5 minutes)
    • The specified remote client transaction timeout values are overwritten

Resolution

This has been resolved by changing the hardcoded timeout period from 300 seconds / 5 minutes to Integer.MAX_VALUE seconds

See also Distributed transaction fails with ORA-01013 ...

Root Cause

org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.createOrResumeXidTransaction was hard coded to the static value of 300 (seconds) in EAP 6

Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.