You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2016/02/15 11:14:48 UTC

[Bug 59007] New: mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

            Bug ID: 59007
           Summary: mod_proxy disables balancer worker after a timeout
                    from ajp even if the failontimeout set to off
           Product: Apache httpd-2
           Version: 2.4.18
          Hardware: Sun
                OS: Solaris
            Status: NEW
          Severity: normal
          Priority: P2
         Component: All
          Assignee: bugs@httpd.apache.org
          Reporter: k.j.chernov@gmail.com

Created attachment 33556
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33556&action=edit
mod_proxy and mod_proxy_ajp patch

I've encountered a very annoying bug in mod_proxy that causes it to disable
balancer worker after a timeout from backend even if the failontimeout set to
off.

Following messages in the error log appears:
[2016-02-15 13:00:08.042994] [proxy_ajp:error] [pid 11478:tid 25]
[VsGhbMCoW2YAACzWK-0AAABW] AH00992: ajp_read_header: ajp_ilink_receive failed
[2016-02-15 13:00:08.043068] [proxy_ajp:error] [pid 11478:tid 25]
[VsGhbMCoW2YAACzWK-0AAABW] (70007)The timeout specified has expired: AH00893:
dialog to x.x.x.x:port (x.x.x.x) failed

I'm using sticky sessions, and after each such timeout (which is normal for
some applications that does not handle too long queries well) half of the users
are being disconnected and forced to re-login into the application.

I've made a small patch to make mod_proxy_ajp+mod_proxy respect failontimeout
property. It is included.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

Yann Ylavic <yl...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
           Keywords|                            |FixedInTrunk
             Status|RESOLVED                    |REOPENED

--- Comment #6 from Yann Ylavic <yl...@gmail.com> ---
This is how we usually do, it helps keeping track of fixes still to be
backported (here r1807318 and r1807338).

Adding the keyword "FixedInTrunk", that's where we are now.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

--- Comment #4 from jfclere <jf...@gmail.com> ---
According to my test in trunk it is fixed now,

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

jfclere <jf...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

--- Comment #1 from Konstantin J. Chernov <k....@gmail.com> ---
Created attachment 33557
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33557&action=edit
patch that introduces new option ProxyAllowTimeouts

I did a quick research and it looks like that mod_proxy_http suffers from the
same problem -- I got another timeout error that disabled my worker even though
failontimeout set to off.

[Mon Feb 15 19:56:14.191054 2016] [proxy_http:error] [pid 14722:tid 22]
(70007)The timeout specified has expired: [client x.x.x.x:port] AH01102: error
reading stat
us line from remote server x.x.x.x:port, referer: http://x.x.x.x:port/url
[Mon Feb 15 19:56:14.191547 2016] [proxy:error] [pid 14722:tid 22] [client
x.x.x.x:port] AH00898: Timeout on 100-Continue returned by /url/here, referer:
http://x.x.x.x:port/referer/here

I attached another patch that adds new option ProxyAllowTimeouts that disables
this annoying behaviour of the mod_proxy.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

--- Comment #5 from Luca Toscano <to...@gmail.com> ---
Should we keep this open until the fix lands to 2.4.x ?

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

--- Comment #2 from jfclere <jf...@gmail.com> ---
I have retry on trunk it is that the failontimeout=On is ignored with ajp and
works with http


LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
<Proxy balancer://mycluster forcerecovery=Off failontimeout=On>
    #BalancerMember http://localhost:8080 ping=1 timeout=5
    BalancerMember ajp://localhost:8009 ping=1 timeout=5
</Proxy>

I have fixed a related issue JBCS-390 in trunk

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 59007] mod_proxy disables balancer worker after a timeout from ajp even if the failontimeout set to off

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59007

--- Comment #3 from Konstantin J. Chernov <k....@gmail.com> ---
Looks like it must fix an issue with mod_proxy_http.

I also found that the problem with mod_proxy_ajp was fixed a very long time ago
in trunk:
https://github.com/apache/httpd/commit/89b7aba0f33d296b52b58d73f2805352a3f83db9

However that change didn't make it into 2.4.x tree, so the problem is still
there :(

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org