[dev.icinga.com #12402] Notification resent, even if interval = 0 #4461
This issue has been migrated from Redmine: https://dev.icinga.com/issues/12402
Created by bsheqa on 2016-08-11 10:16:19 +00:00
When the service fails, one notification is send from master1.
2016-08-12 12:49:29 +00:00 by mfriedrich e28f30a
2016-08-15 16:32:51 +00:00 by mfriedrich d909c09
2016-08-16 11:48:09 +00:00 by mfriedrich 832b5be
Updated by mfriedrich on 2016-08-15 16:08:27 +00:00
Ok, it is a reminder notification which triggers the resending on master4 if master3 is stopped.
Updated by mfriedrich on 2016-08-15 16:39:02 +00:00
For some reason the condition
fails. I would guess that GetLastHardState() is too new (not yet synced from the failing master node or updated by checks happening on master4 before checking the notifications). Then the condition is "false" which means the notifications are skipped.
Since we heavily rely on the timestamps here, I've looked into other ways of ensuring that only one notification is sent. One thing which is also used in 1.x is a dedicated flag to let the current node as well as the HA cluster nodes know about the fact that there are no more notifications needed. This is also exposed via the API and will help determine whether notification objects are going to push notifications or not.
I've pushed a fix to git master which requires further notification tests.
Updated by mfriedrich on 2016-08-16 07:36:59 +00:00
Yep, that fixes it. I'll remove the debug output soon since it will be logged every 5s.