Zabbix-Server often reports "Recursive trigger dependency detected! Please fix." on our server for multiple Trigger-IDs.
In the source-code (db.c, Function trigger_dependet_rec) we found a hard coded limit of "if (*level > 32).
As we understand the function, it should check, if there are too many dependencies IN A LINE of hosts / items.
In our case the dependencies are NOT in a line and here we come to the problem part; our dependency-structure is as the following:
monitoring-proxy[trigger1], f.e. "WAN down" depends on monitoring-server[alive] depends on monitoring-server[no-maintenance] = 3 dependencies.
monitoring-proxy[trigger2], f.e. "snmpd down" depends also on monitoring-server[alive] depends on monitoring-server[no-maintenance] = 3 dependencies.
etc. (some more, the same as above).
What the function is now doing: is does count all the dependencies together (3+3+etc., getting near or over 32).
What the function should do: NOT count the dependencies together, because they do not hang together.
our programmer said, adding (*level)--; before the last return ret; should solve the problem.
Would be great, if someone could confirm.
If more input from our side is needed, please reply.
Thanks and kindest regards,