If you are getting below error on STUCK threads in weblogic, there are few steps to tune it so that you wont get any/minimize the number of times it comes.
Usually these STUCK threads get unstuck after some time but to improve performance its better to tune it avoid uncertainty.
ERROR When STUCK:
####<Jul 8, 2010 9:50:31 AM EDT> <Error> <WebLogicServer> <abcsystems.orass.com> <server-cc113sp> <[ACTIVE] ExecuteThread: '34' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1278597031843> <BEA-000337> <[STUCK] ExecuteThread: '55' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "650" seconds working on the request "Http Request: /deo/hfiles.do", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.
LOG When becomes UNSTUCK:
####<Jul 8, 2010 12:59:16 PM EDT> <Info> <WebLogicServer> <abcsystems.orass.com> <server-cc113sp> <[STUCK] ExecuteThread: '52' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1278608356902> <BEA-000339> <[STUCK] ExecuteThread: '52' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
The error may / may not disappear. It will disappear if the interval is longer than the processing time of the request.
The optimal value need to be set according to the processing time of the requests. If you don’t expect the requests take so long to complete, then you need to tune the system.
If you are seeing a thread exceeding the stuck thread max time, then the request is taking a long time to complete, more than the default value of 10 minutes.
In some circumstances this is expected, it depends on what the thread is actually doing – An example of a normal warning like this is that you have a SQL query that is taking too long because it’s badly written.
If you are seeing a lot of threads getting stuck, then it suggests that you have a bottleneck in one key components and you may have to tune your system,
but it’s a question of identifying which component needs tuning. In either case, you will probably need to take a number of thread dumps with short (15 sec) interval between them, at the time you see the warning reported to start to identify the issue.
The best approach is to identify what thread is causing this. I would recommend capturing a thread dump to find out what is going on withing that thread. Before increasing max thread stuck time please take thread dump and analyze which threads are getting stuck. For example based on your analysis if you feel your database is little bit slow due to which threads are getting stuck, try to increase thread stuck time.
You can increase the stuck thread max time parameter from weblogic console by navigating Domain > Environment > Server > (Managed Server) > Configuration > Tuning