Bug 1265300 - [GSS] (6.4.z) Problems due to infinite transaction timeout period for distributed transaction branch
Summary: [GSS] (6.4.z) Problems due to infinite transaction timeout period for distrib...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB
Version: 6.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: CR1
: EAP 6.4.5
Assignee: Panagiotis Sotiropoulos
QA Contact: Jan Martiska
URL:
Whiteboard:
Depends On:
Blocks: 1235745
TreeView+ depends on / blocked
 
Reported: 2015-09-22 15:18 UTC by Stephen Fikes
Modified: 2019-09-12 08:57 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBEAP-1522 0 Major Closed Problems due to infinite transaction timeout period for distributed transaction branch 2020-02-17 02:54:36 UTC
Red Hat Issue Tracker WFLY-5348 0 Major Closed Propagate transaction timeout value for distributed transaction when using JTA and EJB remoting 2020-02-17 02:54:36 UTC
Red Hat Issue Tracker WFLY-5556 0 Major Closed Configure remote tx timeout via system property 2020-02-17 02:54:36 UTC
Red Hat Knowledge Base (Solution) 2519141 0 None None None 2017-02-13 18:36:32 UTC

Description Stephen Fikes 2015-09-22 15:18:47 UTC
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 14:33:25 UTC
Verified with EAP 6.4.5.CR1.

Comment 24 Stephen Fikes 2015-12-03 19:35:42 UTC
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 11:46:18 UTC
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.

Comment 26 Petr Penicka 2017-01-17 11:46:24 UTC
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.