mirror of https://github.com/Icinga/icinga2.git
Icinga DB: make downtime events update the state tables but not write state history
StateChangeHandler() is the function used when the actual hard/soft state changes and thus also writes state history. This is not desired in this case, instead, a runtime update should be generated, therefore call UpdateState() instead. refs #9063
This commit is contained in:
parent
447884be72
commit
f63268b0dd
|
@ -1800,6 +1800,9 @@ void IcingaDB::SendStartedDowntime(const Downtime::Ptr& downtime)
|
|||
Service::Ptr service;
|
||||
tie(host, service) = GetHostService(checkable);
|
||||
|
||||
/* Update checkable state as in_downtime may have changed. */
|
||||
UpdateState(checkable, StateUpdate::Full);
|
||||
|
||||
std::vector<String> xAdd ({
|
||||
"XADD", "icinga:history:stream:downtime", "*",
|
||||
"downtime_id", GetObjectIdentifier(downtime),
|
||||
|
@ -1885,6 +1888,9 @@ void IcingaDB::SendRemovedDowntime(const Downtime::Ptr& downtime)
|
|||
if (downtime->GetTriggerTime() == 0)
|
||||
return;
|
||||
|
||||
/* Update checkable state as in_downtime may have changed. */
|
||||
UpdateState(checkable, StateUpdate::Full);
|
||||
|
||||
std::vector<String> xAdd ({
|
||||
"XADD", "icinga:history:stream:downtime", "*",
|
||||
"downtime_id", GetObjectIdentifier(downtime),
|
||||
|
@ -2626,8 +2632,6 @@ void IcingaDB::VersionChangedHandler(const ConfigObject::Ptr& object)
|
|||
|
||||
void IcingaDB::DowntimeStartedHandler(const Downtime::Ptr& downtime)
|
||||
{
|
||||
StateChangeHandler(downtime->GetCheckable());
|
||||
|
||||
for (auto& rw : ConfigType::GetObjectsByType<IcingaDB>()) {
|
||||
rw->SendStartedDowntime(downtime);
|
||||
}
|
||||
|
@ -2635,8 +2639,6 @@ void IcingaDB::DowntimeStartedHandler(const Downtime::Ptr& downtime)
|
|||
|
||||
void IcingaDB::DowntimeRemovedHandler(const Downtime::Ptr& downtime)
|
||||
{
|
||||
StateChangeHandler(downtime->GetCheckable());
|
||||
|
||||
for (auto& rw : ConfigType::GetObjectsByType<IcingaDB>()) {
|
||||
rw->SendRemovedDowntime(downtime);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue