IBM Rule Team Server/Decision Center is timing out while performing certain operations - United States  TECHNOTE (TROUBLESHOOTING)

PROBLEM(ABSTRACT)
 How to resolve "Transaction timed out after 601 seconds" error while performing certain operations in Rule Team Server (RTS)/Decision Center (DC)? 

SYMPTOM
While generating ruleapps in RTS/DC, the following error is thrown after a few minutes (typically 5 or 10 minutes): 

On WebLogic: 

Rule Team Server has encountered an unexpected error. The internal error message is: #{SelectionBean.asynchAction}: javax.faces.el.EvaluationException: java.lang.RuntimeException: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 601 seconds BEA1-5057DF8C316E1C1224CD]'. No further JDBC access is allowed within this transaction. 

... 

 

On WebSphere: 
TimeoutManage I WTRN0006W: Transaction XXX has timed out after 300 seconds.
TimeoutManage I WTRN0124I: When the timeout occurred the thread with which the transaction is, or was most recently, associated was Thread[WebContainer : 3,5,main]. The stack trace of this thread when the timeout occurred was: 
ilog.rules.brl.parsing.parser.earley.IlrEarleyParser.errorRecovery(IlrEarleyParser.java:1046)
ilog.rules.brl.parsing.parser.earley.IlrEarleyParser.buildCharts(IlrEarleyParser.java:772)
ilog.rules.brl.parsing.parser.earley.IlrEarleyParser.parse(IlrEarleyParser.java:511)
...


CAUSE
The transaction timeout for RTS/DC is set to 10 minutes by default in the teamserver web module deployment descriptor (WEB-INF/web.xml), and application servers also have container level transaction timeouts that are configurable. If a transactional operation performed by RTS/DC takes longer than these timeouts to complete, the transaction is rolled back and the operation is not completed.



RESOLVING THE PROBLEM
If you perform time consuming operations in large repositories, you can increase the timeout value in the web.xml file of the RTS/DC EAR file (jrules-teamserver-<appserver>.ear\teamserver.war\WEB-INF) by changing the value of the property ilog.rules.teamserver.transaction.timeout. 


You will find the property in the file web.xml defined as below:
...
<context-param>
<description>Modify the timeout value that is associated with transactions (in seconds)</description>
<param-name>ilog.rules.teamserver.transaction.timeout</param-name>
<param-value>600</param-value>
</context-param> 
... 

Another place to look for are application server specific transaction timeout configurations. For example, for WebSphere Application Server, check the "Maximum transaction timeout" and increase it as needed as described here [http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.nd.doc/info/ae/ae/tjta_settlog.html].







Cross reference information Segment Product Component Platform Version Edition Business Integration IBM Operational Decision Manager Platform Independent 7.5 Enterprise Business Integration IBM Operational Decision Manager Platform Independent 8.0.1, 8.0 Enterprise

Question: ODM 8.7 TeamServer users active authoring rules and they get kicked out - transaction timeout or session timeout? Some of my users are being kicked out of TeamServer while actively authoring rules. What value would be controlling this behavior? Session timeout is at it's default 30 minutes. Does transaction timeout come in to play here or is there a different setting that might be causing this. Thanks. 

Answer: If you perform time consuming operations in large repositories, you can increase the timeout value in the web.xml file of the RTS/DC EAR file (jrules-teamserver-<appserver>.ear\teamserver.war\WEB-INF) by changing the value of the property ilog.rules.teamserver.transaction.timeout.

You will find the property in the file web.xml defined as below:
...
<context-param>
<description>Modify the timeout value that is associated with transactions (in seconds)</description>
<param-name>ilog.rules.teamserver.transaction.timeout</param-name>
<param-value>600</param-value>
</context-param>