WLST ADMIN SERVER REQUEST LEAK (Doc ID 986916.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle WebLogic Server - Version 9.2 to 10.3
Information in this document applies to any platform.

Symptoms

A request leak is observed between the Admin server and WLST communication.

A python WLST script is created that starts and stops the managed servers continuously in a loop for 400 times provided that managed servers will be in RUNNING state through node manager initially.
When the script is run, many threads are getting created and all the threads are busy in javax.management.remote.rmi.RMIConnectionImpl and as a result of this slows the Admin Server
Probably a request leak exists in the communication.
On admin server monitoring tab all current requests are busy on javax.management.remote.rmi.RMIConnectionImpl.

Thread dump stack:
The execute queue of admin server is filled with "javax.management.remote.rmi.RMIConnectionImpl requests, one per loop of the script, each thread appearing similar to the excerpt below

"[ACTIVE] ExecuteThread: '23' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock
com.sun.jmx.remote.internal.ArrayNotificationBuffer@1c982a0 TIMED_WAITING
java.lang.Object.wait(Native Method)
com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(ArrayNotificationBuffer.java:344)
com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(ArrayNotificationBuffer.java:122)
com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(ServerNotifForwarder.java:169)
javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(RMIConnectionImpl.java:1215)
javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:479)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.security.service.SecurityManager.runAs(Unknown Source)
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:475)
weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:59)
weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:1016)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
weblogic.work.ExecuteThread.run(ExecuteThread.java:172)


Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms