|
Re: HeuristicMixedException on WebLogic during transaction commit [message #742655 is a reply to message #742653] |
Thu, 20 October 2011 17:47 |
Vikram Kodak Messages: 72 Registered: October 2011 |
Member |
|
|
It has to do with WebLogic's JTA transaction timeout settings being greater than the timeouts for the XA data source (AuditTrail DB). This leads to the database transaction timing out before the WebLogic transaction.
A general rule to follow is to make sure that WebLogic Server JTA timeout (either global, specific to an EJB or for individual transactions) is set to a lower value than the shortest timeout value configured/set for a participating XA resource (e.g., XA Transaction Timeout for Oracle XA JDBC connections). Not doing so can lead to an unexpected and inconsistent distributed transaction outcome, i.e., a participating XA Resource timing out before WebLogic Server JTA as the distributed transaction coordinator. The timed out XA Resource may take action to resolve its own part of the distributed transaction before WebLogic Server can take action. This will lead to heuristic error messages at the time when the WebLogic transaction manager tries to prepare/commit the distributed transaction.
The solution was that for the JDBC Connection Pools to set the XASetTransactionTimeout to true and XATransactionTimeout to zero ("When this parameter is set to zero, the XAResource Session Timeout will be set to the global transaction timeout.")
[Updated on: Thu, 20 October 2011 17:48] Report message to a moderator
|
|
|
Re: HeuristicMixedException on WebLogic during transaction commit [message #742657 is a reply to message #742655] |
Thu, 20 October 2011 17:49 |
Vikram Kodak Messages: 72 Registered: October 2011 |
Member |
|
|
In addition to the application server's default transaction timeout settings the timeout in the server-specific deployment descriptor should be checked as well, e.g. weblogic-ejb-jar.xml.
The standard deployment descriptor shipped with Stardust contains the setting
...
<trans-timeout-seconds>600</trans-timeout-seconds>
...
This can be removed or adapted accordingly in order to not conflict with the other mentioned settings.
[Updated on: Fri, 21 October 2011 04:36] Report message to a moderator
|
|
|
|
Powered by
FUDForum. Page generated in 0.04118 seconds