Hung threads in J2EE applications

Hung threads in J2EE applications

WebSphere Application Server monitors thread activity and performs diagnostic actions if one has become inactive. When WebSphere Application Server detects that a thread has been active longer than the time defined by the thread monitor threshold, the application server takes the following actions:

False Alarms

If the work actually completes, a second set of messages, notifications and PMI events is produced to identify the false alarm. The following message is written to the log:

WSVR0606W: Thread threadname was previously reported to be hung but has completed. It was 
active for approximately hangtime. There are totalthreads threads in total in the 
server that still may be hung.
where threadname is the name that appears in a JVM thread dump, hangtime gives an approximation of how long the thread has been active and totalthreads gives an overall assessment of the system threads.

Automatic adjustment of the hang time threshold

If the thread monitor determines that too many false alarms are issued (determined by the number of pairs of hang and clear messages), it can automatically adjust the threshold. When this adjustment occurs, the following message is written to the log:

WSVR0607W: Too many thread hangs have been falsely reported.  The hang threshold is 
now being set to thresholdtime.
where: thresholdtime is the time (in seconds) in which a thread can be active before it is considered hung.

You can prevent WebSphere Application Server from automatically adjusting the hang time threshold. See Configuring the hang detection policy


Related tasks

Configuring the hang detection policy

Related reference

Hang detection policy of a running server

Searchable topic ID: ctrb_hangdetection