Red Hat Bugzilla – Bug 1265300
[GSS] (6.4.z) Problems due to infinite transaction timeout period for distributed transaction branch
Last modified: 2017-02-13 13:36:33 EST
Description of problem:
The hardcoded 5 minute timeout period was replace with Integer.MAX_VALUE for the timeout period of "remote" distributed transaction branches.
An "infinite" timeout is a problem as this value is also passed to the database to control statement execution. This means that database statements may run uncontrolled in most cases. Too, in one case we have seen that the database driver or the database is mishandling the value and aborting almost immediately (e.g. after only 2 or 3 seconds).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start a transaction in server "one"
2. Using JTA/EJB remoting, propagate that transaction to a remote server
3. The timeout for the transaction on the remote can be seen to be Integer.MAX_VALUE
Either an "infinite" timeout period for database statement execution or else an immediate abort
A "reasonable" smaller value must be used.
We do not have a test where we can reproduce the immediate abort but we confirmed that using a small value worked with the database/driver.
Verified with EAP 6.4.5.CR1.
The new default (instead of Integer.MAX_VALUE) is 31536000 (one year in seconds). This may be overridden explicitly on a per-jvm basis by setting the system property 'org.jboss.as.ejb3.remote-tx-timeout'.
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.