1 Reply Latest reply: Mar 26, 2012 1:51 PM by PHCharbonneau RSS

    How can one stuck thread make managed server unresponseive?

    926414
      We are using Managed Servers in a clustered mode. At times, a thread gets blocked/stuck due to a delay in response by a webservice. I believe, this causes the health of the managed server to be "critical" which in turn causes the managed server to be non responsive. It supports multi threading, but then why does the managed server become unresponsive because of one stuck thread? Is there a way to configure the manage server to let the thread continue processing and still be responsive? Will increasing the thread threshold limit help in maintaining the health of the managed server?
        • 1. Re: How can one stuck thread make managed server unresponseive?
          PHCharbonneau
          Hi,

          Can you please check which WorkManager is used for this Stuck Thread? E.g. look in the Weblogic console >> Monitoring >> Threads (make sure Work Manager is added in the customization options) and identify which WorkManager this Thread belongs to. Then go in Work Manager Section and look at the Work Manager option: Ignore Stuck Threads.

          We had the same problem in one of production environment e.g. a few stuck Threads (waiting forever from Web Service response) were causing Weblogic to throw 503 errors, health to change to WARNING etc. This is because Weblogic will take some action by default when STUCK Threads are present.

          You can configure Weblogic to ignore Stuck Threads (by checking the Ignore Stuck Threads option) as often it does more harm than good unless the stuck Threads are involved in heavy computing tasks causing global impact like infinite looping, major Java Heap memory consumption etc.

          My recommendation to you is as below:
          -     Perform your due diligence and double check if these Stuck Threads are not causing global impact on your JVM and server (Thread Dump analysis is key here)
          -     When assessment is completed, check the Ignore Stuck Threads option and see if it is helping your situation
          -     I also highly recommend that you work on the Stuck Thread problem itself e.g. please revisit the application code and add proper timeout (read/write & connection) with this Web Service in order to prevent Stuck Threads at the first place

          Regards,
          P-H
          http://javaeesupportpatterns.blogspot.com