On Feb 16, 2006, at 7:45 AM, Denis Frolov wrote:

My configuration is: Mac OS X Server 10.3.9 with WebObjects Deployment 5.2.3
and Apache 1.3.33

From time to time this system runs to a problem with growing number of httpd processes being in CLOSE_WAIT state which eventually leads to denial of http service due to the limit of maximum simultaneous connections of web service.

The output of netstat command in such situations looks like this:
tcp4 0 0 server.80 remote_client1.high_port CLOSE_WAIT tcp4 0 0 server.80 remote_client2.high_port CLOSE_WAIT
...

I've tried to track down the requests of one of the remote clients by
looking at the logs by it's ip and found out that this request was made 15 hours before the problem. This request was made during high-load on server (backup which involved copying of large files) and it took about 3 minutes for WO application instance to process this request. The processing was
followed by "Broken pipe" exception as expected:

2006-02-12 10:13:02,001 WARN  AppName[29116:2010 47] [WorkerThread79]
(ERXNSLogLog4jBridge.java:41)  - <WOWorkerThread id=79
socket=Socket[addr=/127.0.0.1,port=57708,localport=2010]> Exception while
sending response: java.net.SocketException: Broken pipe

Naturally, this time was greater than the timeout defined in "HTTP Adaptor Settings" in Monitor, so remote client got a redirect to "Redirection URL"
defined in Monitor:

server_name server_ip - - [12/Feb/2006:10:03:31 +0300] "GET / requestUrl
HTTP/1.0" 302 0 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp;
http://help.yahoo.com/help/us/ysearch/slurp)" -

The steps outlined above presumably lead to http process getting stuck in CLOSE_WAIT state for 15 hours. Later when httpd service became unavailble it
was manually killed along with others by apachectl restart.

Right now I suspect that other requests from ip addresses in netstat output have similar history which means that long responses of application during high load lead to rapid growth of the number of httpd processes and denial
of service.

Can this be a problem of WebObjects Adaptor? What are the possible
solutions?

Hi Denis,

The bug you describe is new to me, but 5.2.3 is known to have other bugs where files are left in the CLOSE_WAIT state. The solution is to upgrade to 5.2.4 or 5.3.

In the form of this bug that I know, wotaskd got choked up by CLOSE_WAITs and had to be restarted nightly. If upgrading is not an option, then you might look at automatically restarting Apache (and/ or wotaskd) every night.


sacha


--
Sacha Michel Mallais             Senior Developer / President
Global Village Consulting Inc.   http://www.global-village.net/
PGP Key ID: 7D757B65             AIM: smallais
Bottom posting is your friend:
http://www.river.com/users/share/etiquette/


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-deploy mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to