@@ -1326,29 +1326,15 @@ void IcingaDB::UpdateState(const Checkable::Ptr& checkable, StateUpdate mode)
13261326 m_Rcon->FireAndForgetQuery (std::move (streamadd), Prio::RuntimeStateStream, {0 , 1 });
13271327 }
13281328
1329- UpdateDependenciesState (checkable, mode );
1329+ UpdateDependenciesState (checkable);
13301330}
13311331
13321332/* *
13331333 * Send dependencies state information of the given Checkable to Redis.
13341334 *
1335- * For explicitly configured redundancy groups, the state information is always sent to Redis, regardless of the
1336- * mode parameter. The mode parameter loosely controls how and which states are sent to Redis for non-redundant
1337- * dependencies. The value of that parameter can be one of the following:
1338- * - Volatile: Check each dependency object of the specified Checkable for its configuration before sending
1339- * the state update. For instance, if the dependency is configured to ignore soft state changes, its state
1340- * should not be different from the previous ones and will therefore not be sent to Redis.
1341- * - RuntimeOnly: Performs an additional check to the one above and ignores dependency objects that are not within
1342- * their time period. Once the dependencies pass all the necessary checks, these two mods only send the state
1343- * information to the icinga:runtime:state Redis stream via XADD.
1344- * - Full: Perform a full state update ignoring all the above mentioned checks. Additionally, set the same
1345- * state information that is streamed into the pipeline to the Redis keys icinga:{dependency:edge,redundancygroup}:state
1346- * as well.
1347- *
13481335 * @param checkable The Checkable you want to send the dependencies state update for
1349- * @param mode The type of operation you want to perform (Volatile, RuntimeOnly, or Full)
13501336 */
1351- void IcingaDB::UpdateDependenciesState (const Checkable::Ptr& checkable, StateUpdate mode ) const
1337+ void IcingaDB::UpdateDependenciesState (const Checkable::Ptr& checkable) const
13521338{
13531339 if (!m_Rcon || !m_Rcon->IsConnected ()) {
13541340 return ;
@@ -1373,7 +1359,6 @@ void IcingaDB::UpdateDependenciesState(const Checkable::Ptr& checkable, StateUpd
13731359 streamStates.emplace_back (std::move (xAdd));
13741360 });
13751361
1376- auto now (Utility::GetTime ());
13771362 for (auto & dependencyGroup : dependencyGroups) {
13781363 bool isRedundancyGroup (dependencyGroup->IsRedundancyGroup ());
13791364 if (isRedundancyGroup && dependencyGroup->GetIcingaDBIdentifier ().IsEmpty ()) {
@@ -1386,12 +1371,6 @@ void IcingaDB::UpdateDependenciesState(const Checkable::Ptr& checkable, StateUpd
13861371 auto members (dependencyGroup->GetMembers (checkable.get ()));
13871372 for (auto it (members.begin ()); it != members.end (); /* no increment */ ) {
13881373 auto dep (*it);
1389- if (auto tp (dep->GetPeriod ()); !isRedundancyGroup && mode != StateUpdate::Full && tp && !tp->IsInside (now)) {
1390- // When the dependency is outside its time period, and we're not performing a full
1391- // state update, we don't need to send any updates as it should always be reachable.
1392- continue ;
1393- }
1394-
13951374 auto stateAttrs (SerializeDependencyEdgeState (dependencyGroup, dep));
13961375 // Find all members that share the same parent starting from the iterator position ("it" inclusively),
13971376 // and merge their relevant state information into a single one.
0 commit comments