My Oracle Support Banner

Increase of Threads When A SQL Statement Execution Takes For A Long Time (Doc ID 1912569.1)

Last updated on FEBRUARY 03, 2019

Applies to:

Oracle WebLogic Server - Version 10.3.6 and later
Information in this document applies to any platform.

Symptoms

Deployed into WLS  server 10.3.6,  an application interacts with Oracle Database  server.
Randomly, a thread (ExecuteThread: '6') executes SQL statement for la long time with the the following thread stack :

[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'" - Thread t@44
  java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
..
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1838)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1803)
- locked (a oracle.jdbc.driver.T4CConnection) at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:294)
..
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

When the execution of this SQL statement takes a long time,  there are  threads which are created and blocked with the following thread stack :


"[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" - Thread t@41
  java.lang.Thread.State: BLOCKED
at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:994)
- waiting to lock (a weblogic.transaction.internal.ServerSCInfo) owned by "[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'" t@139
at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:3074)
at weblogic.transaction.internal.ServerTransactionImpl.abandonNow(ServerTransactionImpl.java:3469)
at weblogic.transaction.internal.ServerTransactionImpl.access$300(ServerTransactionImpl.java:65)
at weblogic.transaction.internal.ServerTransactionImpl$3.run(ServerTransactionImpl.java:3451)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

The issue is that the number of these threads  (locked on weblogic.transaction.internal.ServerSCInfo handle)  is increasing continuously when  the SQL Statement execution takes a long time. As a consequence,  a restart of WLS server is needed.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.