Bug 54640

Summary: Slow transaction on a balance member is holding subsequent requests
Product: Apache httpd-2 Reporter: Federico Mennite <federico.mennite>
Component: mod_proxy_balancerAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED LATER    
Severity: normal Keywords: MassUpdate
Priority: P2    
Version: 2.2.24   
Target Milestone: ---   
Hardware: PC   
OS: Linux   

Description Federico Mennite 2013-03-05 14:41:52 UTC
I've configured a reverse proxy with two workers with lbmethod=bybusyness
Given that the back-end servers are supporting only one single connection concurrently I've configured each member with max=1

Now in a first connection to the server, I send a request to a resource that is going to take 20 seconds to respond.
Short after, with a second connection I send a request to a resource that is going respond immediately. Everything looks fine.

I send immediately a third request to retrieve the fast resource but I unexpectedly have to wait that the first request has finished before getting an answer to the third.
I was expecting the 'bybusyness' algorithm to give priority to the non busy balancer member but instead it seems that it is queuing the third request to the one being busy.

Is this behavior expected, should I confgiure somnething differently or can this be considered a bug?

Config snippet:
<Proxy balancer://session>
  BalancerMember http://10.10.1.1:26240 connectiontimeout=10 max=1
  BalancerMember http://10.10.1.1:26241 connectiontimeout=10 max=1
</Proxy>
<VirtualHost 10.1.1.1:80>
  KeepAlive On
  ServerName session.example.ch
  ProxyPass            /                balancer://session/ lbmethod=bybusyness
</VirtualHost>

Tested on Apache vanilla 2.2.24, and Apache 2.2.16 distributed with Debian Squeeze.
Comment 1 William A. Rowe Jr. 2018-11-07 21:09:39 UTC
Please help us to refine our list of open and current defects; this is a mass update of old and inactive Bugzilla reports which reflect user error, already resolved defects, and still-existing defects in httpd.

As repeatedly announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases. All reports older than 2.4.x have been updated to status RESOLVED/LATER; no further action is expected unless the report still applies to a current version of httpd.

If your report represented a question or confusion about how to use an httpd feature, an unexpected server behavior, problems building or installing httpd, or working with an external component (a third party module, browser etc.) we ask you to start by bringing your question to the User Support and Discussion mailing list, see [https://httpd.apache.org/lists.html#http-users] for details. Include a link to this Bugzilla report for completeness with your question.

If your report was clearly a defect in httpd or a feature request, we ask that you retest using a modern httpd release (2.4.33 or later) released in the past year. If it can be reproduced, please reopen this bug and change the Version field above to the httpd version you have reconfirmed with.

Your help in identifying defects or enhancements still applicable to the current httpd server software release is greatly appreciated.