Ruediger Pluem wrote:
Finally I found some time to continue my work on this problem.
As of now I only committed the change that prevents mod_proxy_balancer
from overwriting the status of workers when creating a new child process
(http://svn.apache.org/viewcvs?rev=374929&view=rev).
As announced I left the IMHO somewhat cryptic syntax to predefine the status
of a worker in the configuration as it is. So to disable a worker at start
status=disabled cannot be used, but status=d must be used instead.
Even more important I did no further changes which means that automatic
failover as wanted by Robby still does not work.
During my search for a solution of this I got more and more unsure of what
is the desired behaviour of what configuration. So I would like to start
a discussion here.
I see at least the following questions:
1. What is the exact meaning of a disabled worker? Should it be considered
for use if find_best_worker cannot find a worker in non error mode and
nofailover
is set to off?
Should a redirected worker that is disabled be used?
2. What about chains of redirects (worker 'a' has a redirect to worker 'b',
worker 'b' has a redirect to worker 'c')?
Regards
RĂ¼diger
Hi Rudiger,
Thanks for the info. My thoughts on the options would be as follows:
(ok) enabled - a functional and processing worker
(dis) disabled - a worked disabled manually or by some condition eg. 5
workers but you only require 4 to process requests ( not sure how useful
this is )
(err) error - a worker disabled due to a fault in the backend, recheck
after timeout period
(stdby) standby - an enabled worker not currently receiving any requests
eg. all requests go node a. - if node a. fails over then use node b. -
this would sort of solve the current inability for sessions to stay on
one node ( if you don't have specific app session support )
Standby mode would be enough if you don't have session support
specifically, as the odds might be for eg. 1000 requests a day with an
up time of 100 days = 1 in 100,000 requests that might have an issue; I
can accept those odds ; ) Not sure which is easier, building generic
session support or a hot standby mode.
1. as above, not sure how useful this is and yes, if the job of a
disabled worker is to assume work when required, then I'd use it. Maybe
standby might be better definition.
2. not sure how difficult the logic would be, but I'd just go for
redirect a and/or b to c. Rudiger, what's your reasoning for chaining as
per no. 2 above?
Apologies I can't help more programatically ... my programming is baaaaad.
Regards. Robby.