You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Roney Duilio Stein <ro...@sondait.com.br> on 2012/05/31 21:08:22 UTC

[users@httpd] mod_proxy_ajp "dialog to [...] failed"

Hello.

Please, I appreciate if someone could help me answering some questions:

I'm working on an issue that I sent to the Tomcat users mailing list (http://tomcat.markmail.org/search/?q=#query:%20list%3Aorg.apache.tomcat.users+page:5+mid:4w7j4oqnuxwkz67c+state:results).

I have some questions:
1. Are the error messages below caused by Apache waiting for a response from Tomcat which never comes? There's no directly corresponding error message in the Tomcat logs, some errors are past or before the dates on the Apache log;
2. After the node enters the "error state" what happens to the existing connections to this Tomcat instance?

[Thu May 31 10:15:47 2012] [error] (OS 10060)A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.  : ajp_ilink_receive() can't receive header
[Thu May 31 10:15:47 2012] [error] ajp_read_header: ajp_ilink_receive failed
[Thu May 31 10:15:47 2012] [error] (70007)The timeout specified has expired: proxy: dialog to 127.0.0.1:9109 (127.0.0.1) failed
[Thu May 31 10:15:49 2012] [error] proxy: BALANCER: (balancer://wlb). All workers are in error state for route (wt2)
[Thu May 31 10:15:50 2012] [error] proxy: BALANCER: (balancer://wlb). All workers are in error state for route (wt2)
[Thu May 31 10:15:51 2012] [error] proxy: BALANCER: (balancer://wlb). All workers are in error state for route (wt2)

We were suspecting on a TCP/IP stack issue (or something related) but everything works fine (no other connection problems), only this application shows these errors. I'm suspecting this is caused by some misbehavior in the application, which in turn, causes other problems due to the node entering the "error state".
Apache is proxying to 2 Tomcat instances (this application) and to 1 third application (which doesn't suffer any problem).

Apache is version 2.2.22, Tomcat 6.0.29 (same thing with 6.0.20).
This single error puts the worker in "error state", which is bad, and the fix from 2.2.22 to overcome this kind of situation doesn't cover this specific case.

The configuration used in Apache HTTP is:
ServerSignature Off
ServerTokens Prod
Timeout 600
LimitRequestFieldSize 20480
ProxyIOBufferSize 21504
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>
<Proxy balancer://wlb>
  BalancerMember ajp://10.11.102.224:9109 route=wt1 loadfactor=50 max=85 ttl=120 retry=5 connectiontimeout=5000ms ping=5000ms
  BalancerMember ajp://127.0.0.1:9109 route=wt2 loadfactor=50 max=85 ttl=120 retry=5 connectiontimeout=5000ms ping=5000ms
</Proxy>
ProxyPass /app1 balancer://wlb/app1 stickysession=JSESSIONID nofailover=On
ProxyPass /app2 ajp://10.11.102.219:8009/app2

The AJP connector in Tomcat (app1):
<Connector port="9109" protocol="AJP/1.3" redirectPort="8443" packetSize="22528" maxThreads="200" connectionTimeout="120000"/>


Thanks a lot.
Roney



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


Re: [users@httpd] mod_proxy_ajp "dialog to [...] failed"

Posted by sridhar basam <sr...@gmail.com>.
On Thu, May 31, 2012 at 3:08 PM, Roney Duilio Stein
<ro...@sondait.com.br> wrote:
> Hello.
>
> Please, I appreciate if someone could help me answering some questions:
>
> I'm working on an issue that I sent to the Tomcat users mailing list (http://tomcat.markmail.org/search/?q=#query:%20list%3Aorg.apache.tomcat.users+page:5+mid:4w7j4oqnuxwkz67c+state:results).
>
> I have some questions:
> 1. Are the error messages below caused by Apache waiting for a response from Tomcat which never comes? There's no directly corresponding error message in the Tomcat logs, some errors are past or before the dates on the Apache log;
> 2. After the node enters the "error state" what happens to the existing connections to this Tomcat instance?
>
> [Thu May 31 10:15:47 2012] [error] (OS 10060)A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.  : ajp_ilink_receive() can't receive header
> [Thu May 31 10:15:47 2012] [error] ajp_read_header: ajp_ilink_receive failed
> [Thu May 31 10:15:47 2012] [error] (70007)The timeout specified has expired: proxy: dialog to 127.0.0.1:9109 (127.0.0.1) failed
> [Thu May 31 10:15:49 2012] [error] proxy: BALANCER: (balancer://wlb). All workers are in error state for route (wt2)
> [Thu May 31 10:15:50 2012] [error] proxy: BALANCER: (balancer://wlb). All workers are in error state for route (wt2)
> [Thu May 31 10:15:51 2012] [error] proxy: BALANCER: (balancer://wlb). All workers are in error state for route (wt2)
>
> We were suspecting on a TCP/IP stack issue (or something related) but everything works fine (no other connection problems), only this application shows these errors. I'm suspecting this is caused by some misbehavior in the application, which in turn, causes other problems due to the node entering the "error state".
> Apache is proxying to 2 Tomcat instances (this application) and to 1 third application (which doesn't suffer any problem).
>
> Apache is version 2.2.22, Tomcat 6.0.29 (same thing with 6.0.20).
> This single error puts the worker in "error state", which is bad, and the fix from 2.2.22 to overcome this kind of situation doesn't cover this specific case.
>
> The configuration used in Apache HTTP is:
> ServerSignature Off
> ServerTokens Prod
> Timeout 600
> LimitRequestFieldSize 20480
> ProxyIOBufferSize 21504
> ProxyRequests Off
> ProxyPreserveHost On
> <Proxy *>
>  Order deny,allow
>  Allow from all
> </Proxy>
> <Proxy balancer://wlb>
>  BalancerMember ajp://10.11.102.224:9109 route=wt1 loadfactor=50 max=85 ttl=120 retry=5 connectiontimeout=5000ms ping=5000ms
>  BalancerMember ajp://127.0.0.1:9109 route=wt2 loadfactor=50 max=85 ttl=120 retry=5 connectiontimeout=5000ms ping=5000ms
> </Proxy>
> ProxyPass /app1 balancer://wlb/app1 stickysession=JSESSIONID nofailover=On
> ProxyPass /app2 ajp://10.11.102.219:8009/app2
>
> The AJP connector in Tomcat (app1):
> <Connector port="9109" protocol="AJP/1.3" redirectPort="8443" packetSize="22528" maxThreads="200" connectionTimeout="120000"/>
>

You just might not be having enough threads in this connector to
handle the workload. See how many of the 200 threads are busy when the
problem occurs. netstat -s -t would also tell you about failed
connection attempts.

 Sridhar





>
> Thanks a lot.
> Roney
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>

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