On 3/14/12 8:29 PM, John Plevyak wrote:
On Wed, Mar 14, 2012 at 8:22 AM, Alan M. Carroll<
a...@network-geographics.com>  wrote:

There is, however, one situation where this simple and safe order of
events
is not followed.  That is connection sharing to origin servers.  Here the
situations starts the same, but when the client is done with the
connection
it does not issue a do_io_close(), and this is where the problems can
begin.

That's not my interpretation of the crashes. We tried various settings for
connection sharing to no observed effect on crashing type or frequency. In
fact all of the configurations I use for testing have connection sharing
disabled.

"As far as I can tell the problem arises when the VCs in a
HttpServerSession are split across two threads"

This can only occur when there is some connection sharing or if someone has
introduced a thread switch in some other processor which triggers the OS
connection.  AFAIK the OS connection is initiated on the thread which has
the client connection and thus, without connection sharing, they should be
on the same thread.

Sorry to butt in, but that was my impression as well. That's also why I added the option to have a per-thread session pools, enabled via

    CONFIG proxy.config.http.share_server_sessions INT 2


That was done for performance reasons, and not for this problem though. Without it, our performance kinda sucks when the client VC is on a different thread from the origin VC.

-- Leif

Reply via email to