httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 38227] - AJP proxy not thread-safe?
Date Thu, 23 Mar 2006 16:51:45 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38227>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38227





------- Additional Comments From apache.org@tisc.de  2006-03-23 16:51 -------
I'm seeing similar errors. 

The setup is Apache 2.2.0 with mod_proxy_ajp and Tomcat 5.0.27. I tried
RewriteRules with [P] first, then switched to ProxyPass - same result.

This is the log of the virtual host: (Servernames replaced by $MYSERVER, IPs
replaced by $LOCALIP)
==> httpd_error_log <==
[Thu Mar 23 16:23:09 2006] [error] ajp_read_header: ajp_ilink_receive failed
[Thu Mar 23 16:23:09 2006] [error] (120006)APR does not understand this error
code: proxy: read response failed from (null) (localhost)
                                                                               
                                                                               
                    
This is the global apache log:
==> /opt/httpd/logs/error_log <==
[Thu Mar 23 16:23:09 2006] [error] [client $LOCALIP] proxy: error reading status
line from remote server $MYSERVER referer: $REFERER
[Thu Mar 23 16:23:09 2006] [error] [client $LOCALIP] proxy: Error reading from
remote server returned by $URL, referer: $REFERER
[Thu Mar 23 16:23:09 2006] [error] (70007)The timeout specified has expired:
ajp_ilink_receive() can't receive header


Nothing fancy shows up in catalina.out or Tomcat logs, just a lot of

Mar 23, 2006 4:24:40 PM org.apache.jk.common.ChannelSocket processConnection
INFO: connection timeout reached

but they seem normal and occur all the time.

I do _not_ see this behaviour under heavy load, I see it almost instantly.

Things get worse: Connections from Apache to Tomcat stay open:

[root@server root]# netstat -tn|sed -n -e '1,2p;/8059/p'
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        1      0 127.0.0.1:46802         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46814         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46790         127.0.0.1:8059          CLOSE_WAIT
tcp        0      0 127.0.0.1:46826         127.0.0.1:8059          ESTABLISHED
tcp        1      0 127.0.0.1:46729         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46777         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46753         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46765         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46697         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46604         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46636         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46544         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46551         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46518         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46505         127.0.0.1:8059          CLOSE_WAIT
tcp        1      0 127.0.0.1:46414         127.0.0.1:8059          CLOSE_WAIT
tcp      794      0 127.0.0.1:8059          127.0.0.1:46328         CLOSE_WAIT
tcp        0      0 127.0.0.1:8059          127.0.0.1:46826         ESTABLISHED

There are times when no ESTABLISHED connection is available - it seems to take
quite long for tomcat to recover. Not that the Recv-Q has data in it!

server.xml snippet:

    <Connector protocol="AJP/1.3"
               address="127.0.0.1"
               port="8059"
               minProcessors="10"
               maxProcessors="250"
               maxPostSize="0"
               enableLookups="false"
               useBodyEncodingForURI="true"
               acceptCount="25"
               debug="0"
               redirectPort=""
               connectionTimeout="60000"
    />

(Yes, there are probably some superfluous settings there).

I do not see an increase in thread count or apache child count (using prefork MPM).

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message