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 2012/08/02 17:51:44 UTC

[Bug 53646] New: Invalid uniformly distributed balancing of requests when loadfactor of balancer members is equal

https://issues.apache.org/bugzilla/show_bug.cgi?id=53646

          Priority: P2
            Bug ID: 53646
          Assignee: bugs@httpd.apache.org
           Summary: Invalid uniformly distributed balancing of requests
                    when loadfactor of balancer members is equal
          Severity: normal
    Classification: Unclassified
                OS: Solaris
          Reporter: Holger.King@de.bosch.com
          Hardware: Sun
            Status: NEW
           Version: 2.2.22
         Component: mod_proxy_balancer
           Product: Apache httpd-2

Created attachment 29158
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=29158&action=edit
JSESSIONID cookie suffixed by Apache2 2.2.22 load balancer

Dear HTTP community,

currently, we're having the following Apache 2.2.22 web server configuration to
allow a uniformly distributed balancing of HTTP requests to the two running
Apache Tomcat instances behind.

Both Apache Tomcat instances are located on invidual but identital physical
hardware.

The configuration looks like:

<Proxy balancer://fs4_javaclient_over_https>
    BalancerMember ajp://rb-wcmstc1.de.bosch.com:8009 loadfactor=50 ping=5
retry=10 route=rb-wcmstc1 connectiontimeout=5 timeout=300
    BalancerMember ajp://rb-wcmstc2.de.bosch.com:8009 loadfactor=50 ping=5
retry=10 route=rb-wcmstc2 connectiontimeout=5 timeout=300

    ProxySet stickysession=JSESSIONID|jsessionid
    ProxySet lbmethod=byrequests
    ProxySet scolonpathdelim=On
    ProxySet nofailover=Off
</Proxy>

<Proxy balancer://fs4_webclient_over_https>
    BalancerMember ajp://rb-wcmstc1.de.bosch.com:8010 loadfactor=50 ping=5
retry=10 route=rb-wcmstc1 connectiontimeout=5 timeout=300
    BalancerMember ajp://rb-wcmstc2.de.bosch.com:8010 loadfactor=50 ping=5
retry=10 route=rb-wcmstc2 connectiontimeout=5 timeout=300
    ProxySet stickysession=JSESSIONID|jsessionid
    ProxySet lbmethod=byrequests
    ProxySet scolonpathdelim=On
    ProxySet nofailover=Off
</Proxy>

RewriteCond %{REQUEST_URI} !^/index.html
RewriteCond %{REQUEST_URI} !^/balancer-manager
RewriteCond %{REQUEST_URI} !^/server-*
RewriteRule ^/(.*) balancer://fs4_webclient_over_https/$1 [proxy,last]


Now, what happens:
- initially, balancing is - as expected - uniformly distributed
- after a while, the balancing behaviour changes on one of the two balancing
members

If we restart the Apache2 2.2.22 web server the problem has gone - for a short
moment. This could be proven, when taking a closer look to the JSESSIONID
cookies suffixed by Apache2 with the "route" value of the "BalancerMember".
Details see screenshot attached!

-- 
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 53646] Invalid uniformly distributed balancing of requests when loadfactor of balancer members is equal

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

--- Comment #1 from Holger.King@de.bosch.com ---
For sure, during the test, after each request, the COOKIES are deleted in the
browser (here: Firefox). Then, the new request, shows the same COOKIE suffix
again.

-- 
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 53646] Invalid uniformly distributed balancing of requests when loadfactor of balancer members is equal

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

--- Comment #2 from Holger.King@de.bosch.com ---
The first "Proxy balancer://fs4_javaclient_over_https" is called when, the
following rules match:

RewriteCond %{REQUEST_URI} ^/servlet/ClientIO [NC]
RewriteRule ^/(.*) balancer://fs4_javaclient_over_https/$1 [proxy,last]

-- 
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