Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 98232 invoked from network); 19 Nov 2010 14:49:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 19 Nov 2010 14:49:26 -0000 Received: (qmail 80765 invoked by uid 500); 19 Nov 2010 14:49:57 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 80496 invoked by uid 500); 19 Nov 2010 14:49:56 -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 80488 invoked by uid 99); 19 Nov 2010 14:49:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Nov 2010 14:49:56 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of minfrin@sharp.fm designates 72.32.122.20 as permitted sender) Received: from [72.32.122.20] (HELO chandler.sharp.fm) (72.32.122.20) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Nov 2010 14:49:48 +0000 Received: from chandler.sharp.fm (localhost [127.0.0.1]) by chandler.sharp.fm (Postfix) with ESMTP id CAB9D38027 for ; Fri, 19 Nov 2010 08:49:27 -0600 (CST) Received: from [10.0.0.251] (87-194-125-18.bethere.co.uk [87.194.125.18]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client did not present a certificate) (Authenticated sender: minfrin@sharp.fm) by chandler.sharp.fm (Postfix) with ESMTP id 5B5351B80D4 for ; Fri, 19 Nov 2010 08:49:27 -0600 (CST) Message-Id: <119AF357-7D77-4430-AAC0-1AD66AA4787D@sharp.fm> From: Graham Leggett To: dev@httpd.apache.org In-Reply-To: <1320773172.209.1290172793330.JavaMail.root@iris> Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v936) Subject: Re: svn commit: r1035605 - /httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Date: Fri, 19 Nov 2010 16:49:27 +0200 References: <1320773172.209.1290172793330.JavaMail.root@iris> X-Mailer: Apple Mail (2.936) X-Virus-Scanned: ClamAV using ClamSMTP On 19 Nov 2010, at 3:19 PM, Igor Gali=C4=87 wrote: > I believe to have, for the first time in months, understood what it > is with mod_proxy, and why it's so heavily discussed: > > There are a number separate and related issues, because mod_proxy: > > * handles connections to the front end > (To large numbers of differently behaving clients) > * handles (highly configurable) connections to the back-end > * can speak very different protocols to the back-ends > (In terms of timeouts, keep-alives, etc..) > * can be a transparent proxy as well as a reverse proxy > > * The code might, or might not be heavily interwoven. > > is that remotely right? It can be safe to say "mod_proxy relies heavily on pool lifetimes =20 being correct". In most cases in the server, the only pool you care about is the =20 request pool. When the request is cleaned up, so is your data, and =20 you're done. In these cases, you simply don't care about pool =20 lifetimes, and because you're only using a pool you've already been =20 given, the lifetime simply isn't your problem. In the case of mod_proxy however, a backend connection may start life =20= either before or after the frontend connection, and may terminate =20 before or after the frontend connection terminates. The backend has a =20= completely separate lifetime to the frontend. What this means is, if there are pool lifetime issues hidden in the =20 server, proxy is likely to show them up first. Regards, Graham --