-
Incident report
-
Resolution: Fixed
-
Major
-
1.6.7
-
Postgresql 8.4, zabbix 1.6.7
I've noticed some flooding in my postgresql server logs, caused by zabbix, on continuing a failed transaction. Here are some log details from the very beginning:
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-1] ERROR: deadlock detected
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-2] DETAIL: Process 67695 waits for ShareLock on transaction 586724714; blocked by process 67700.
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-3] Process 67700 waits for ShareLock on transaction 586724679; blocked by process 67695.
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-4] Process 67695: update ids set nextid=nextid+1 where nodeid=0 and table_name='events' and field_name='eventid'
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-5] Process 67700: update triggers set value=0,lastchange=1259767486,error='' where triggerid=17086
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-6] HINT: See server log for query details.
Dec 2 16:26:23 pgdb1 postgres[67695]: [2-7] STATEMENT: update ids set nextid=nextid+1 where nodeid=0 and table_name='events' and field_name='eventid'
Dec 2 16:26:23 pgdb1 postgres[67695]: [3-1] ERROR: current transaction is aborted, commands ignored until end of transaction block
Dec 2 16:26:23 pgdb1 postgres[67695]: [3-2] STATEMENT: select nextid from ids where nodeid=0 and table_name='events' and field_name='eventid'
Dec 2 16:26:23 pgdb1 postgres[67695]: [4-1] ERROR: current transaction is aborted, commands ignored until end of transaction block
Dec 2 16:26:23 pgdb1 postgres[67695]: [4-2] STATEMENT: select nextid from ids where nodeid=0 and table_name='events' and field_name='eventid'
Dec 2 16:26:23 pgdb1 postgres[67695]: [5-1] ERROR: current transaction is aborted, commands ignored until end of transaction block
And it just went on, and produced a 768MB log file, when I restarted zabbix.
Could you please add some checks whether current transaction is alive or not?
If the transaction is failed, a zabbix panic wouldn't prefered, later try-again would be better, especially in the case i've just pasted (deadlock)