Hello,
Since yesterday, I am using zabbix 1.5.4 on a postgresql 8.2.5 database ( just upgraded to 8.3.3) but I have big problems with deadlocks:
I tried everything I can think of, tuned various parameters in postgresql.conf, reindexed the indexes on DB, but nothing helped! With zabbix 1.4.X I never had problems with deadlocks.
I don`t know why zabbix dies when postgres reports deadlocks, because deadlocks are not fatal, just aborted transactions. The application should know to re-start the transaction.
I know that deadlocks are PSQL related, but are triggered by transactions made by zabbix, which I think can be optimized but is beyond my skills.
So please give me an advice to get rid of deadlocks.
Since yesterday, I am using zabbix 1.5.4 on a postgresql 8.2.5 database ( just upgraded to 8.3.3) but I have big problems with deadlocks:
Code:
8499:20080821:112737 Query failed:PGRES_FATAL_ERROR:ERROR: deadlock detected DETAIL: Process 8504 waits for ShareLock on transaction 84652; blocked by process 8517. Process 8517 waits for ShareLock on transaction 84649; blocked by process 8504. 8499:20080821:112737 Query::select distinct i.itemid,i.key_,h.host,h.port,i.delay,i.description,i.nextcheck,i.type,i.snmp_community,i.snmp_oid,h.useip,h.ip,i.history,i.lastvalue,i.prevvalue,i.hostid,h.status,i.value_type,h.errors_from,i.snmp_port,i.delta,i.prevorgvalue,i.lastclock,i.units,i.multiplier,i.snmpv3_securityname,i.snmpv3_securitylevel,i.snmpv3_authpassphrase,i.snmpv3_privpassphrase,i.formula,h.available,i.status,i.trapper_hosts,i.logtimefmt,i.valuemapid,i.delay_flex,h.dns,i.params,f.function,f.parameter,f.itemid,f.lastvalue from hosts h, items i,functions f,triggers t where f.itemid=i.itemid and h.hostid=i.hostid and f.triggerid=t.triggerid and t.status in (0) and f.itemid in (20185,20951,20311,21101,20046,21136,22042,20182,20272,20273,22133,20513,20363,20186,20286,21146,20226,22136,22329,20269,20338,22357,19857,21137,20067,22287,20937,21134,20114,22164,22014,19854,20164,20934,19855,21135,21110,20270,20488,20938,22138,21308,20438,20023,20139,20199,22159,21099,20093,20183,20463,20413,20061,22641,21141,21621,21391,22821,21111,22331,22361,22381,22041,22661,22301,22342,22382,20362,21352,21322,20062,22702,20482,20332,21622,22642,21381,22701,21503,20063,22643,21353,20483,22163,22703,20333,21623,20163,21382,22612,20312,20022,20462,22362,21392,22142,21442,20952,22282,21142,21383,22143,22043,22383,22343,22285,21355,21384,20215,22335,22145,20994,20115,22645,22115,21203,20903,20214,21354,21624,22794,22704,21385,20285,20024,20126,21444,22324,20094,20996,21356,21206,22646,20364,21533,21506,22613,21536,22116,22766,20464,20514,20414,22286,21416,21554,20066,21326) 8499:20080821:112737 Query failed:PGRES_FATAL_ERROR:ERROR: current transaction is aborted, commands ignored until end of transaction block 8450:20080821:112737 One child process died. Exiting ... 8450:20080821:112748 ZABBIX Server stopped. ZABBIX 1.5.4.
I don`t know why zabbix dies when postgres reports deadlocks, because deadlocks are not fatal, just aborted transactions. The application should know to re-start the transaction.
I know that deadlocks are PSQL related, but are triggered by transactions made by zabbix, which I think can be optimized but is beyond my skills.
So please give me an advice to get rid of deadlocks.
Comment