Return-Path: X-Original-To: apmail-httpd-dev-archive@www.apache.org Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9821818232 for ; Fri, 26 Jun 2015 00:42:00 +0000 (UTC) Received: (qmail 64584 invoked by uid 500); 26 Jun 2015 00:42:00 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 64513 invoked by uid 500); 26 Jun 2015 00:42:00 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 64503 invoked by uid 99); 26 Jun 2015 00:41:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jun 2015 00:41:59 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of DRuggeri@primary.net designates 216.87.38.201 as permitted sender) Received: from [216.87.38.201] (HELO s1.mail.rcig.net) (216.87.38.201) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jun 2015 00:39:43 +0000 Received: from 23-117-14-203.lightspeed.stlsmo.sbcglobal.net ([23.117.14.203]:27125 helo=[192.168.0.2]) by s1.mail.rcig.net with esmtpa (Exim 4.72) (envelope-from ) id 1Z8Hhw-00088m-0n for dev@httpd.apache.org; Thu, 25 Jun 2015 19:41:30 -0500 Message-ID: <558C9FB0.2030902@primary.net> Date: Thu, 25 Jun 2015 19:41:20 -0500 From: Daniel Ruggeri User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Re: Proxy balancer providers and aging References: In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-ACL-Warn: X-The email account used to send this email was: druggeri@primary.net X-Spam-Score: -2.9 (--) X-Spam-Report: Spam detection software, running on the system "s1.mail.rcig.net", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. X-Virus-Checked: Checked by ClamAV on apache.org Content preview: On 6/24/2015 3:12 PM, Jim Jagielski wrote: > All LBmethods have an "age" function which is designed to appropriately > "age" the data so that things even out after awhile. Of course, right > now, none actually *uses* that. > [...] Content analysis details: (-2.9 points, 8.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0010] On 6/24/2015 3:12 PM, Jim Jagielski wrote: > All LBmethods have an "age" function which is designed to appropriately > "age" the data so that things even out after awhile. Of course, right > now, none actually *uses* that. > I had never realized this function exists... what triggers it? ... or are you saying that today nothing triggers it because of the next sentence? > But I think the reason is because there is no real good way, > currently, in mod_proxy to do that... > > Well, in the LBmethod I was hacking away on, it really DOES need > its age function, and currently it's doing so via mod_watchdog. > But the more I think of it, ideally, mod_proxy *itself* should > create the watchdog thread and just handle the age itself, rather > than having a LBmethod provider having to be responsible for > creating that (it also kind of destroys the abstraction that pure > providers should have, imo)... > Yup - if there is some sort of contract between mod_proxy such that each balancer ought to be able to "age" its data, mod_proxy should provide the facilities to call that age function on some interval. However, looking at the age function signature in the existing balancers, I'm seeing a conspicuous lack of a time delta since the last call to age(). It seems to me that if mod_proxy is responsible for the 'tick' it should also be responsible for providing a time delta so the lbmethod can age the data proportionally to the time since last tick. (or, maybe I'm missing it altogether and the module should be managing this itself which kinda puts us back to the beginning of which module should be responsible for this stuff) > Anyway... anyone opposed to me adding this to mod_proxy in > trunk with hope towards it backporting to 2.4? It does mean > that mod_proxy will now have a dependency on mod_watchdog. I'm conflicted. This is useful functionality but would break existing configurations using 2.4 in an unexpected way. I remember dealing with lots of questions about "why is this slotmem thing needed all of a sudden" when moving from 2.2 to 2.4. I think that if I were to be forced to work through the cognitive dissonance I'd be +1 for adding this to trunk but -1 for 2.4 unless we can find a way to avoid the dependency unless the lbmethod really needs it (I don't see how, but please do enlighten me if this is possible). -- Daniel Ruggeri