[ZBX-7185] escalation can be cancelled by an unrelated event Created: 2013 Oct 22 Updated: 2017 May 30 Resolved: 2013 Oct 24 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Server (S) |
Affects Version/s: | 2.1.9 |
Fix Version/s: | 2.1.9 |
Type: | Incident report | Priority: | Critical |
Reporter: | Aleksandrs Saveljevs | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Description |
The problem is in process_actions() in src/zabbix_server/actions.c, which consists of two parts. First, we fetch all actions for the given events and make a list of actions for which the given events might be recovery events. Then, we go through all such actions and all given events again, and check whether a given event is a recovery event for a particular action. Unfortunately, these checks in the second part are not sufficiently strict. So it is possible that, in the first phase, an action is added to the list due to event E1, but in the second phase recovered by event E2. An example of such a problem that we observed in our environment is as follows. We had a trigger going into PROBLEM state and a consequent escalation starting. Then, a host went unavailable and an internal event for this trigger was generated. We received a recovery message from Zabbix that was sent in response to this internal event. |
Comments |
Comment by Aleksandrs Saveljevs [ 2013 Oct 23 ] |
Fixed in development branch svn://svn.zabbix.com/branches/dev/ZBX-7185 . |
Comment by Andris Zeila [ 2013 Oct 25 ] |
Successfully tested |
Comment by Aleksandrs Saveljevs [ 2013 Oct 28 ] |
Fixed in pre-2.1.9 (trunk) r39598. |