When you disable a backend, it can still receive requests that are already 
"stuck" to the backend.  Which is fine, that's what I would prefer as well.

However, the comment in svc.c is wrong, around line 572:
disable_only == 1:  mark as disabled, remove sessions

Since it does not remove sessions.

In addition, the get_backend call does not do the right thing if all backends 
are dead or disabled.  Because the tot_pri of the service is <=0, it always 
returns svc->emergency.  Which is fine, UNLESS one of the backends is disabled, 
and a session exists for that connection.  In that case, it should return the 
disabled backend.

I moved the svc->tot_pri check to a ternary check around each hash_backend or 
rand_backend to resolve the issue.

See 
http://users.k12system.com/mrwizard/pound/pound_2.5_disabled_backend_fix.patch.bz2

Joe



--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.

Reply via email to