Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  2. ZBX-8299

Existence of discovery rule not checked when running discovery via proxy and the rule on server gets deleted while being run on proxy


      Existence of discovery rule not checked when running discovery rule via proxy and if the rule on server gets deleted meanwhile being run on proxy.

      How to reproduce:
      1. Zabbix Server 2.2.3, Zabbix Proxy
      2. Configuration -> Discovery -> Create discovery rule
      3. Set the rule to be monitored via Proxy
      4. Set IP range, delay, and select check type like "ICMP ping"
      5. Wait for rule to run on proxy, check it in Monitoring -> Discovery
      6. When some hosts start to appear, stop Zabbix server Server must be stopped before the discovery on proxy is finished
      7. With the server stopped, delete the newly created discovery rule
      8. Start Zabbix server

      In this scenario Zabbix proxy does not check for existence of discovery rule after server restart and continues to send in discovery data to non-existing rule.
      That makes Zabbix server log to show the following line repeatedly:

       18354:20140604:140732.946 [Z3005] query failed: [1452] Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`dhosts`, CONSTRAINT `c_dhosts_1` FOREIGN KEY (`druleid`) REFERENCES `drules` (`druleid`) ON DELETE CASCADE) [insert into dhosts (dhostid,druleid) values (192,6)]

            Unassigned Unassigned
            ingus.vilnis Ingus Vilnis
            0 Vote for this issue
            2 Start watching this issue