Bug 1265300 - [GSS] (6.4.z) Problems due to infinite transaction timeout period for distributed transaction branch
[GSS] (6.4.z) Problems due to infinite transaction timeout period for distrib...
Status: CLOSED CURRENTRELEASE
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB (Show other bugs)
6.4.0
Unspecified Unspecified
unspecified Severity high
: CR1
: EAP 6.4.5
Assigned To: Panagiotis Sotiropoulos
Jan Martiska
:
Depends On:
Blocks: 1235745
  Show dependency treegraph
 
Reported: 2015-09-22 11:18 EDT by Stephen Fikes
Modified: 2017-02-13 13:36 EST (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker JBEAP-1522 Major Closed Problems due to infinite transaction timeout period for distributed transaction branch 2017-06-29 01:24 EDT
JBoss Issue Tracker WFLY-5348 Major Resolved Propagate transaction timeout value for distributed transaction when using JTA and EJB remoting 2017-06-29 01:24 EDT
JBoss Issue Tracker WFLY-5556 Major Resolved Configure remote tx timeout via system property 2017-06-29 01:24 EDT
Red Hat Knowledge Base (Solution) 2519141 None None None 2017-02-13 13:36 EST

  None (edit)
Description Stephen Fikes 2015-09-22 11:18:47 EDT
Description of problem:
The hardcoded 5 minute timeout period was replace with Integer.MAX_VALUE for the timeout period of "remote" distributed transaction branches.

- https://issues.jboss.org/browse/WFLY-2789
- https://bugzilla.redhat.com/show_bug.cgi?id=1056585#c1

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):


How reproducible:
Consistently


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

Actual results:
Either an "infinite" timeout period for database statement execution or else an immediate abort

Expected results:
A "reasonable" smaller value must be used.

Additional info:
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.
Comment 23 Jan Martiska 2015-11-02 09:33:25 EST
Verified with EAP 6.4.5.CR1.
Comment 24 Stephen Fikes 2015-12-03 14:35:42 EST
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'.
Comment 25 Petr Penicka 2017-01-17 06:46:18 EST
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.
Comment 26 Petr Penicka 2017-01-17 06:46:24 EST
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.

Note You need to log in before you can comment on or make changes to this bug.