Skip to content

Commit 2889822

Browse files
committed
IcingaDB: Send reachablity state updates for all children recursively
1 parent 1683249 commit 2889822

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
@@ -3061,6 +3061,12 @@ void IcingaDB::ReachabilityChangeHandler(const std::set<Checkable::Ptr>& childre
30613061
for (const IcingaDB::Ptr& rw : ConfigType::GetObjectsByType<IcingaDB>()) {
30623062
for (auto& checkable : children) {
30633063
rw->UpdateState(checkable, StateUpdate::Full);
3064+
if (auto grandChildren(checkable->GetChildren()); !grandChildren.empty()) {
3065+
// Icinga DB Web needs to know about the reachability of all children, not just the direct ones.
3066+
// These might get updated with their next check result anyway, but we can't rely on that, since
3067+
// they might not be actively checked or have a very high check interval.
3068+
IcingaDB::ReachabilityChangeHandler(grandChildren);
3069+
}
30643070
}
30653071
}
30663072
}

0 commit comments

Comments
 (0)