Steps to reproduce:
Configure Zabbix proxy and specify "Server=2e4393900e86:10051;10.0.10.50:10052". Where:
1. 2e4393900e86 - good and available Zabbix server
2. Fake Zabbix server (incorrect ZBX protocol). For example:
while true; do printf 'HTTP/1.1 200 OK\n\n%s' "test" | nc -l 10052; done
3. Stop 2e4393900e86 node, check Zabbix proxy logs
4. Zabbix proxy will report non-network issue about incorrect message, but does not change node.
Result:
When Zabbix configured with a few nodes, Zabbix proxy auto detect active node from the specified node list. But if Zabbix proxy received non network related issues (for example, "Message from 10.0.10.50 is missing header. Message ignored.") from specified remote Zabbix server, then Zabbix proxy will never change node. Such problem can be because of issues on load-balancer.
Expected:
Switch to really active node.