users@glassfish.java.net

Re: Interrupted idle thread

From: Oleksiy Stashok <Oleksiy.Stashok_at_Sun.COM>
Date: Tue, 31 Aug 2010 11:17:00 +0200

Hi Martin,

I'm sorry this unexpected behavior caused problems to you. We will
improve the message being logged to give GF users more information
what's going on and how this could be changed.

Just want to give you more information on the issue.
Glassfish internally uses limited thread pool to process HTTP requests
(by default its size is 5). Considering HTTP request processing takes
longer than 1 minute (as example) - it means 5 HTTP clients can easily
block entire HTTP listener for 1 minute. If user/developer expects
this situation - he can extend the thread pool size or balance the
load among several servers - it's ok.
But from our experience things may easily go out of control, if user/
developer *doesn't* expect this situation. This may easily happen if
we use database in our web app. and DB connection(s) hangs
(unfortunately it happens) and it's not that they may hang for 1 min,
but 30min, hour and so on. In this situation, if we have more clients,
server may hang forever. To avoid this situation we introduced the
property, which will limit the amount of time one single HTTP request
might be processed by the thread, by default it's set to 15 mins.

Solution, proposed you by Ryan, should fix the timeout issue you
observe. And as I mentioned we will change the log message to give
users more information.

Thanks.

WBR,
Alexey.


On Aug 31, 2010, at 1:21 , Martin, Ray wrote:

> When I rebuilt the web service in the EJBModule, I added the new web
> service, but I did not remove the original web service – so, the
> “interrupting idle thread..” remained.
>
> I now removed the original web service and redeployed and ran. The
> process in the EJBModule has now run for an hour without error. We
> will see how this test runs over nite. Tomorrow, I will test further.
>
> It appears that one should not expect web services built on a v2
> project in netbeans to run in a project that has been switched over
> to v3.
>
>
>
> From: Martin, Ray
> Sent: Monday, August 30, 2010 6:08 PM
> To: users_at_glassfish.dev.java.net
> Subject: RE: Interrupted idle thread
>
> I rebuilt the web service in the EJBModule.
> I rebuilt the web service client.
> I cleaned up the database – got most of the errors out.
> Reran glassfish v3.
>
> Got the stupid “interrupting idle thread..” nonsense. Can’t find
> any information anywhere about this.
>
> Database is totally frits’d - I hate V3!!!!
>
> From: Martin, Ray
> Sent: Monday, August 30, 2010 3:38 PM
> To: users_at_glassfish.dev.java.net
> Subject: Interrupted idle thread
>
> Using glassfish build 74.2 and jdk1.6.0_20
>
> Have one EJBModule using webservice and JPA deployed in a enterprise
> app.
> Had running very well in v2.
> Changed to v3.
> Get a “Warning: Interrupting idle Thread: http-threa-pool-8080-(x)”
> where x appears to be a one up number.
>
> On startup a SOAP message is sent one time to the EJBModule. The
> EJBModule performs some processing and sends a response SOAP
> message. In v2, the process could run for minutes, hours, or days
> without failure.
>
> In v3, after the warning message, something ( I am pretty sure that
> it is not the web service client – because it is instrumented)
> causes a SOAP messages and the processing starts over and corrupts
> my databases.
>
> I don’t know what to do.
>
> Any help would be appreciated.
>
> Thanx.