Skip to content

Commit bc82c04

Browse files
committed
IcingaDB: Send reachablity state updates for all children recursively
1 parent 33c712c commit bc82c04

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

lib/icingadb/icingadb-objects.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3100,6 +3100,12 @@ void IcingaDB::ReachabilityChangeHandler(const std::set<Checkable::Ptr>& childre
31003100
for (const IcingaDB::Ptr& rw : ConfigType::GetObjectsByType<IcingaDB>()) {
31013101
for (auto& checkable : children) {
31023102
rw->UpdateState(checkable, StateUpdate::Full);
3103+
if (auto grandChildren(checkable->GetChildren()); !grandChildren.empty()) {
3104+
// Icinga DB Web needs to know about the reachability of all children, not just the direct ones.
3105+
// These might get updated with their next check result anyway, but we can't rely on that, since
3106+
// they might not be actively checked or have a very high check interval.
3107+
IcingaDB::ReachabilityChangeHandler(grandChildren);
3108+
}
31033109
}
31043110
}
31053111
}

0 commit comments

Comments
 (0)