Open windymindy opened 3 months ago
Hello,
thanks for reporting. I'm a little bit confused becasuse the traces above seem to indicate it worked (server2 marked as failed and was redispatched), but you could very well be facing a more subtle corner case. At the moment I have no idea what could cause this since the counters are normall per server. Maybe the event is not detected after a redispatch, I don't know.
thanks for reporting. I'm a little bit confused becasuse the traces above seem to indicate it worked (server2 marked as failed and was redispatched), but you could very well be facing a more subtle corner case. At the moment I have no idea what could cause this since the counters are normall per server. Maybe the event is not detected after a redispatch, I don't know.
server_2 was the initial backend that the request has been sent to. The endpoint is implemented to always return http error in both instances of the service. The proxy is configured to 'redispatch'. So what happened is that both backends were queried, both returned an error. But only one was marked as down. I encourage one to test this themselves.
Let me know if a sequence diagram is needed.
I checked and indeed there is a difference between L4 and L7 errors. The servers health status are adjusted before the L4 retries but after the L7 retries. So, with observer layer4
, the status of all tested servers is adjusted. With observer layer7
, only the status of the last tested server is adjusted.
It should be fixed now. Thanks !
Detailed Description of the Problem
Hi. Debugging different failure scenarios I observed that 'on-error' mode actions only apply to a backend server that was initially chosen for a request. If another redispatched server failed to respond successfully no action is taken for that server.
Expected Behavior
I expect 'observe' 'error-limit' 'on-error' configurations to be a deterministic state machine that changes backend server state based on observed communications.
Steps to Reproduce the Behavior
Do you have any idea what may have caused this?
No response
Do you have an idea how to solve the issue?
No response
What is your configuration?
Output of
haproxy -vv
Last Outputs and Backtraces
Additional Information
No response