• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Hung webcontainer thread

 
Greenhorn
Posts: 6
IBM DB2 Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am seeing this warning in our production websphere application server (WAS 7) system out logs -

[8/31/14 9:14:50:455 EDT] 0000001f ThreadMonitor W WSVR0605W: Thread "WebContainer : 974" (0000040d) has been active for 623003 milliseconds and may be hung. There is/are 1 thread(s) in total in the server that may be hung.

The application server transaction timeout is set to 120 second
DB2 time out is -1 (wait forever until lock is granted or deadlocks happens)
Thread monitor configurations are not known and I am trying to get that information.

I am also in process of getting the db2 logs and javacore logs to analyse the issue further but I have one question as why would the thread hung for so long.
In situation where the transaction is unable to get the lock and waits for it beyond 120 second, application server should rollback the transaction after 120 second and the thread should also be released.
But this isn't happening here. Please help me understand why do we see web container thread hung for such a long time (623003 milliseconds)?


 
Bartender
Posts: 1357
39
IBM DB2 Netbeans IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Transactions and threads associated with web (or ejb) requests are two very different things. By specifying a timeout, you just put a limit of time to the transaction to be completed (successfully or not) , no matter if the request hungs or if completes after that amount of time. It's not a way to get hung threads killed by your appserver runtime. As far as I know, there's no way to kill a java thread from outside, even in a Java EE enviroment.
reply
    Bookmark Topic Watch Topic
  • New Topic