WebLogic Server Retries Rollback Request Threads Until Server is Out of Resources
(Doc ID 1287437.1)
Last updated on MAY 23, 2022
Applies to:Oracle WebLogic Server - Version 9.2 to 10.3.3
Information in this document applies to any platform.
Customers were facing a scenario where one of the database queries doesn't complete within the duration specified by the JTA timeout (default is 600 seconds). As this transaction timed-out, WLS creates another execute thread, say T1, to rollback this transaction. However, this thread could not complete the rollback as the original thread (the one that is executing the query) holds a lock on the connection. The new thread (T1) waits for the original thread to release the lock (which doesn't happen immediately). Meanwhile, WLS keeps creating new execute threads T2, T3 etc while attempting to roll back the timed-out transaction, thereby slowing up the whole application server.
For example, look at the following thread dump snippet. ONE thread hangs here:
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!