Tuesday, March 17, 2015

Weblogic Stuck Threads



Weblogic Stuck Threads  (BEA-000337)








WLS generate the following errors;





<[STUCK] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "622" seconds working on the request "Workmanager: default, Version
: 0, Scheduled=true, Started=true, Started time: 622750 ms
[
POST /soa-infra/services/xxxxxxxxxxx/HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Transfer-Encoding: chunked
User-Agent: Java1.6.0_81
Accept: text/html, image/gif, image/jpeg, */*; q=.2
Connection: Keep-Alive



]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-200 "[STUCK] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'" {
    jrockit.net.SocketNativeIO.readBytesPinned(SocketNativeIO.java:???)
    jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:32)




In SOA environment most of Stuck Threads are generated by de applications self (services).


The first thing you need to contact the developers to check there service


As a workaround


Make the following modifications:
  1. Login to Weblogic Server Administration Console.  Default: http://localhost:7001/console
  2. Select 'Lock and Edit' (if WebLogic server is a Production Mode implementation)
  3. Go to  Home > Summary of Servers > AdminServer, Tuning tab.
  4. Change the Stuck Thread Max Time from 600 to 900.
  5. Change the Stuck Thread Timer Interval from 60 to 100
  6. Go to Overload tab
  7. Change the Max Stuck Thread Time from 600 to 900.
  8. Change the Stuck Thread Count 0 to 16.
  9. Save and Activate Changes.
  10. Restart the WebLogic server.

No comments:

Post a Comment