Hi,

I am using a custom 200 response file so that my upstream load balancer can 
determine if my haproxy instance is operating correctly.

   errorfile 200 /home/haproxy/responses/200_resp.http

Additionally I am using the monitor-uri /healthcheck.

So when my upstream load balancer calls haproxyhost:port/healthcheck haproxy 
will return the contents of the 200_resp.http file.  

This all works fine, however if I change the contents of the 200 response file 
when haproxy is running I have noticed that haproxy is actually caching this 
file.

The caching part is fine, however in order for haproxy to see the updated 
response file I must restart/reload haproxy so it picks up the new contents.  

You might be asking why am I changing this file?  Well basically if I need to 
perform rolling restarts on my haproxy instances I need a method of signaling 
the upstream load balancer health check
to remove the haproxy instance from the available pool.  So if I change the 
contents of the 200 response I can basically automatically remove the haproxy 
instance from the pool and traffic will no longer flow to 
the haproxy instance.  However, because haproxy caches this file I need to 
restart/reload haproxy.  I would like to not have to perform this restart 
though.

Is there any way to signal haproxy to invalidate the error file cache and 
reread the errorfiles without restarting?  Can this be done through the stats 
socket?

Is anybody else doing this and have a better method?

How do I make a feature request if this functionality is not available?

thanks,

Corey Osman




Reply via email to