AdrianES
AdrianES

Reputation: 670

GRIZZLY0023 Glassfish warning

I have deployed 2 web application in java on GlassFish server. I am using Glassfish Server 3.1.2.2. They both have java servlet pages from where they receive http requests, also the code is identical, only different parameters (for different clients). The first works well and the other process the http request very long. After that i noticed the next thing:

I am constantly getting this warning in the Glassfish output in Netbeans.

WARNING: GRIZZLY0023: Interrupting idle Thread: http-thread-pool-9990

Can anyone explain me why i get this warning, and how to solve it.

Upvotes: 11

Views: 16558

Answers (4)

Tobb
Tobb

Reputation: 12225

I don't think I would recommend just disabling the interuption of threads altogether. Actually, this error is probably due to a bug in Glassfish 3.1.2.2, which results in threads not being properly interupted. This can be seen through multiple interupt-logs for the same thread-id. The bug is fixed by placing a patched version of grizzly-http.jar on Glassfish's classpath.

For more information, see https://www3.wipo.int/confluence/display/wipoimd/3.3.2.1.-+GlassFish+3.1.2.2+%28build+5%29+patches

Upvotes: 4

Armando Carrasco
Armando Carrasco

Reputation: 19

You need to increase or disable the Request Timeout in the Glassfish Admin:

server-config -> Network Config -> Network Listeners -> <LISTENER> -> HTTP

A value of -1 will disable it.

Tested in: GlassFish Server Open Source Edition 3.1.2.2

Upvotes: 1

Tushar Patel
Tushar Patel

Reputation: 365

This occurred when the server is idle. When the server is idle for some time then it start generating

GRIZZLY0023: Interrupting idle Thread:

warning in the log file and we have to restart the server. We observed this in Glassfish 3.1.2.2 build 5. We never observed this in older Glassfish.

This indicates that there is some bug in GF 3.1.2.2 version.

Upvotes: 5

unwichtich
unwichtich

Reputation: 13857

This warning occurs if a HTTP request times out. The Glassfish default timeout is 15 minutes.

This can happen in different situations, e.g. when a request invokes a long-running action which doesn't return any response in the timeout period, if a request to your server was made via HTTPS and it only supports HTTP (or vice versa), or if there are no more connections available in the HTTP connection pool.

The specific cause in your case can only be guessed, but in general one solution for this problem is to increase the default HTTP request timeout. You can set this value in the Glassfish Admin GUI (http://localhost:4848) under:

server-config -> Network Config -> Network Listeners -> <your listener>

the field Request Timeout is set to 900 (15 minutes) by default, just increase this value. Unfortunately you can't set it to -1 to have no limit since Glassfish 3.1.2.

You can also set it with the asadmin tool like this:

asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds=x

Upvotes: 14

Related Questions