Hi guys, I just had an incident with a stale nfs handle - where server suddenly returned 500 errors for some requests (the stuff lying on that nfs :)
In this setup, I use haproxy to control the backends, and thus I'd like it to retry requests giving 50* errors on "all other backends" - and only return the error, if everyone responds this way. This is what I do with Varnish in another setup (I simply wrote a short 50x handler and issue a restart) - and that nicely ensures that noone EVER sees a 500 error, until it affects all backends - and then when the "health checker" comes by - my health check will catch the server is faulty and pull it out. I'd like to do the same with haproxy, so a defective server never effects production. I don't want the server to be pulled totally out (like it would be, using the observe feature) - because it might only be a small part of the requests that fail. In the "health check" - I can do more advanced analysis - like seeing how big a percentage of requests that fail, before I decide to pull the server out or not - to ensure that the risk of ending with NO backends at all, is much lower :) Any way to make haproxy retry requests with certain http response codes X times (or just until all backends have been tried) ? -- Regards, Klavs Klavsen, GSEC - k...@vsen.dk - http://www.vsen.dk - Tlf. 61281200 "Those who do not understand Unix are condemned to reinvent it, poorly." --Henry Spencer