[ZBX-16308] Could not send configuration to Zabbix Proxy if dependent items are used Created: 2019 Jun 26  Updated: 2020 Aug 20  Resolved: 2019 Jul 23

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Proxy (P), Server (S)
Affects Version/s: 4.2.3
Fix Version/s: 4.2.5rc1, 4.4.0alpha1, 4.4 (plan)

Type: Problem report Priority: Blocker
Reporter: Kaspars Mednis Assignee: Andris Zeila
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Causes
Duplicate
Team: Team A
Sprint: Sprint 53 (Jun 2019), Sprint 54 (Jul 2019)
Story Points: 0.5

 Description   

Zabbix proxy log shows following error

[Z3005] query failed: [1452] Cannot add or update a child row: a foreign key constraint fails (`zabbix_proxy`.`items`, CONSTRAINT `c_items_5` FOREIGN KEY (`master_itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE)

Proxy log shows, that Zabbix tries to create dependent item entry into database before master item is created, because master item has higher itemid (29154 is master itemid):

MariaDB [zabbix_proxy]> insert into items (itemid,type,snmp_community,snmp_oid,hostid,key_,delay,status,value_type,trapper_hosts,snmpv3_securityname,snmpv3_securitylevel,snmpv3_authpassphrase,snmpv3_privpassphrase,lastlogsize,logtimefmt,params,ipmi_sensor,authtype,username,password,publickey,privatekey,mtime,flags,interfaceid,port,snmpv3_authprotocol,snmpv3_privprotocol,snmpv3_contextname,jmx_endpoint,master_itemid,timeout,url,query_fields,posts,status_codes,follow_redirects,post_type,http_proxy,headers,retrieve_mode,request_method,output_format,ssl_cert_file,ssl_key_file,ssl_key_password,verify_peer,verify_host,allow_traps,description) values
(29100,18,'','',10272,'ZabbixProxyMySQL.Com_select','0',0,3,'','',0,'','',0,'','','',0,'','','','',0,0,null,'',0,0,'','',29154,'3s','','','','200',1,0,'','',0,1,0,'','','',0,0,0,''),
(29154,7,'','',10272,'level3.agent.control[proxy_mysql]','30s',0,2,'','',0,'','',0,'','','',0,'','','','',0,0,null,'',0,0,'','',null,'3s','','','','200',1,0,'','',0,1,0,'','','',0,0,0,'');
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`zabbix_proxy`.`items`, CONSTRAINT `c_items_5` FOREIGN KEY (`master_itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE)

if the order is changed, query succeeds:

MariaDB [zabbix_proxy]> insert into items (itemid,type,snmp_community,snmp_oid,hostid,key_,delay,status,value_type,trapper_hosts,snmpv3_securityname,snmpv3_securitylevel,snmpv3_authpassphrase,snmpv3_privpassphrase,lastlogsize,logtimefmt,params,ipmi_sensor,authtype,username,password,publickey,privatekey,mtime,flags,interfaceid,port,snmpv3_authprotocol,snmpv3_privprotocol,snmpv3_contextname,jmx_endpoint,master_itemid,timeout,url,query_fields,posts,status_codes,follow_redirects,post_type,http_proxy,headers,retrieve_mode,request_method,output_format,ssl_cert_file,ssl_key_file,ssl_key_password,verify_peer,verify_host,allow_traps,description) values
(29154,7,'','',10272,'level3.agent.control[proxy_mysql]','30s',0,2,'','',0,'','',0,'','','',0,'','','','',0,0,null,'',0,0,'','',null,'3s','','','','200',1,0,'','',0,1,0,'','','',0,0,0,''),
(29100,18,'','',10272,'ZabbixProxyMySQL.Com_select','0',0,3,'','',0,'','',0,'','','',0,'','','','',0,0,null,'',0,0,'','',29154,'3s','','','','200',1,0,'','',0,1,0,'','','',0,0,0,'');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

Proxy configuration update is completely broken by this.



 Comments   
Comment by Vladislavs Sokurenko [ 2019 Jul 01 ]

Steps:
Create item 1
Create item 2

Change item 1 to depend on item 2

Reload proxy configuration.

Comment by Roberto Cremasco [ 2019 Jul 17 ]

I'm affected. Waiting for fix release. My workaround was 'ALTER TABLE items DROP FOREIGN KEY c_items_5;' hoping it doesn't do too much damage.

Comment by Andris Zeila [ 2019 Jul 19 ]

Released ZBX-16308 in:

  • pre-4.2.5rc1 25ae03fd80
  • pre-4.4.0alpha1 254ddb6908
Comment by Oleksii Zagorskyi [ 2020 Aug 19 ]

Let me just add that looks like zabbix server binary must be upgraded as well.
Proxy upgrade (while keeping server 4.2.3) was not enough.

Generated at Thu Mar 28 15:27:42 EET 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.