Skip to content

Commit a1175d1

Browse files
committed
IcingaDB: Send reachablity state updates for all children recursively
1 parent 04d2f3b commit a1175d1

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
@@ -3097,6 +3097,12 @@ void IcingaDB::ReachabilityChangeHandler(const std::set<Checkable::Ptr>& childre
30973097
for (const IcingaDB::Ptr& rw : ConfigType::GetObjectsByType<IcingaDB>()) {
30983098
for (auto& checkable : children) {
30993099
rw->UpdateState(checkable, StateUpdate::Full);
3100+
if (auto grandChildren(checkable->GetChildren()); !grandChildren.empty()) {
3101+
// Icinga DB Web needs to know about the reachability of all children, not just the direct ones.
3102+
// These might get updated with their next check result anyway, but we can't rely on that, since
3103+
// they might not be actively checked or have a very high check interval.
3104+
IcingaDB::ReachabilityChangeHandler(grandChildren);
3105+
}
31003106
}
31013107
}
31023108
}

0 commit comments

Comments
 (0)