diff options
-rw-r--r-- | include/db.h | 2 | ||||
-rw-r--r-- | src/libs/zbxdbhigh/db.c | 8 | ||||
-rw-r--r-- | src/zabbix_server/actions.c | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/include/db.h b/include/db.h index fbbe6fd0..6cc54485 100644 --- a/include/db.h +++ b/include/db.h @@ -523,7 +523,7 @@ int DBproxy_update_item_status_to_notsupported(zbx_uint64_t itemid); int DBadd_service_alarm(zbx_uint64_t serviceid,int status,int clock); int DBadd_alert(zbx_uint64_t actionid, zbx_uint64_t eventid, zbx_uint64_t userid, zbx_uint64_t mediatypeid, char *sendto, char *subject, char *message); int DBstart_escalation(zbx_uint64_t actionid, zbx_uint64_t triggerid, zbx_uint64_t eventid); -int DBstop_escalation(zbx_uint64_t actionid, zbx_uint64_t triggerid); +int DBstop_escalation(zbx_uint64_t actionid, zbx_uint64_t triggerid, zbx_uint64_t eventid); int DBremove_escalation(zbx_uint64_t escalationid); void DBupdate_triggers_status_after_restart(void); int DBget_prev_trigger_value(zbx_uint64_t triggerid); diff --git a/src/libs/zbxdbhigh/db.c b/src/libs/zbxdbhigh/db.c index 0724e0df..1a7c609c 100644 --- a/src/libs/zbxdbhigh/db.c +++ b/src/libs/zbxdbhigh/db.c @@ -1582,12 +1582,14 @@ int DBstart_escalation(zbx_uint64_t actionid, zbx_uint64_t triggerid, zbx_uint64 return SUCCEED; } -int DBstop_escalation(zbx_uint64_t actionid, zbx_uint64_t triggerid) +int DBstop_escalation(zbx_uint64_t actionid, zbx_uint64_t triggerid, zbx_uint64_t eventid) { - DBexecute("update escalations set status=%d,nextcheck=0 where actionid=" ZBX_FS_UI64 " and triggerid=" ZBX_FS_UI64, + DBexecute("update escalations set status=%d,nextcheck=0 where actionid=" ZBX_FS_UI64 + " and triggerid=" ZBX_FS_UI64 " and eventid = " ZBX_FS_UI64, ESCALATION_STATUS_RECOVERY, actionid, - triggerid); + triggerid, + eventid); return SUCCEED; } diff --git a/src/zabbix_server/actions.c b/src/zabbix_server/actions.c index f52dad8f..1323ff8e 100644 --- a/src/zabbix_server/actions.c +++ b/src/zabbix_server/actions.c @@ -840,7 +840,7 @@ void process_actions(DB_EVENT *event) zabbix_log( LOG_LEVEL_DEBUG, "Conditions do not match our event. Do not execute operations."); if (event->source == EVENT_SOURCE_TRIGGERS && event->object == EVENT_OBJECT_TRIGGER) - DBstop_escalation(action.actionid, event->objectid); + DBstop_escalation(action.actionid, event->objectid, event->eventid); } } DBfree_result(result); |