On 09/29/2006 09:53 AM, Mathias Herberts wrote:

> 
> So redirection is only used when handling session bound requests which
> is exactly the opposite of what the documentation said.
> 
> The goal of graceful worker shutdown is therefore not achieved as
> there is no way to have session bound requests stick to their origin
> worker and new requests to flow to another worker.
> 
> Having worked four years ago on the lb part of mod_jk I think a simple
> redirect flag would be helpful, that is flag a worker as *redirected*
> to have all requests not part of a session redirected to other

IMHO opinion that is what disabled is designed for. But I admit this does
not work currently. We had a discussion a while ago here about the meaning
of the diferent worker stati with not an all too clear outcome from my point of
view.

I tend to say that

disabled means: Take requests if their routing information matches mine but
                no other ones.
stopped means: Take no requests at all.
enabled means: Take all requests.

Of course above statements are subject to error checking, and lb strategies for
new requests.

Maybe others can give a comment. In order to get this working the following
steps are missing:

1. Make disabled workers accept requests if the routing information from the
   client matches that of the disbaled worker.

2. Extend the manager application to put a worker into stopped / non stopped
   state.

> 
> While investigating this problem I found another one, in the same
> function (find_session_route), if a worker is diagnosed in error state
> and all requests coming into Apache belong to sessions initiated in
> this worker then the worker will never be retryed (see code above that
> only checks for redirection).

This will be fixed in 2.2.4

Regards

RĂ¼diger

Reply via email to