Thanks, understood, I'll attach a patch to Bugzilla for the trunk as well in 
the next day or two.


\|/- Keith Mashinter 
[email protected]


________________________________
From: Jim Jagielski <[email protected]>
To: [email protected]; Keith Mashinter <[email protected]>
Sent: Tuesday, May 24, 2011 10:18:04 AM
Subject: Re: id=51247 Enhance mod_proxy and _balancer with worker status flag 
to only accept sticky session routes

I like the concept... will review.

PS: Most patches should be against trunk. We fold into trunk,
    test and only then propose for backport for 2.2.x


On May 23, 2011, at 3:10 PM, Keith Mashinter wrote:

> I've added a patch to the proxy/balancer to allow for route-only workers are 
> only enabled for sticky session routes, allowing for an even more graceful 
> fade-out of a server than making its lbfactor=1 compared to lbfactor=100 for 
> others.  
> 
> Please reply/vote if you also think it's useful.
> 
> https://issues.apache.org/bugzilla/show_bug.cgi?id=51247
> This enhancement, actually SVN Patched against 2.2.19, provides a worker 
> status
> flag to set a proxy worker as only accepting requests with sticky session
> routes, e.g. only accept requests with a .route such as Cookie
> JSESSIONID=xxx.tc2.
> 
> This allows for a graceful fade-out of servers when their sessions are 
> removed;
> they continue to receive requests for their sticky session routes but are
> passed over for requests with no specified route, just as if they were
> disabled.  In other words, route-only workers are only enabled for sticky
> session routes.
> 
> Intended use (Tomcat JSESSIONID noted here but could be PHPSESSIONID, Ruby
> _session_id, or anything with cookie or request-parameter based session ids):
> 1. An Apache rev-proxy running for multiple Tomcats.
> 2. To fade-out a Tomcat for maintenance, set route-only enabled in
>  the
> 
> balancer-manager or reload the configuration with the worker status +R.
> (This depends on Tomcat web-apps delete session cookies, see further below.)
> 3. Check on the balancer-manager or its Tomcat worker even a few minutes /
> hours, and when it seems to have completed old sessions you can mark it fully
> disabled.
> 4. Once done maintenance, you can then set route-only disabled (status -R) and
> fully enable the worker again.
> 
> To delete a JSESSIONID Cookie from a Servlet, you need to specify the same
> Domain and Path as the original Cookie and setMaxAge=0 as in the typical
> example below but you should check on your own Domain and Path when a Cookie 
> is
> created, e.g. watch the Cookie headers in Firefox Firebug.
> 
>     // To delete a Cookie setMaxAge(0) and also any original domain and path 
>if
> specified.
>     Cookie ck = new
>  Cookie("JSESSIONID", null);
> 
>     //ck.setDomain("");
>     ck.setPath(request.getContextPath());
>     ck.setMaxAge(0);
>     response.addCookie(ck);
>  
> \|/- Keith Mashinter 
> [email protected]

Reply via email to