Skip to content

Commit 065626d

Browse files
committed
IcingaDB: Remove redundant mode param from UpdateDependenciesState()
1 parent 91cbc7f commit 065626d

File tree

2 files changed

+3
-24
lines changed

2 files changed

+3
-24
lines changed

lib/icingadb/icingadb-objects.cpp

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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.

lib/icingadb/icingadb.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class IcingaDB : public ObjectImpl<IcingaDB>
105105
std::vector<Dictionary::Ptr>* runtimeUpdates);
106106
void InsertObjectDependencies(const ConfigObject::Ptr& object, const String typeName, std::map<String, std::vector<String>>& hMSets,
107107
std::vector<Dictionary::Ptr>& runtimeUpdates, bool runtimeUpdate);
108-
void UpdateDependenciesState(const Checkable::Ptr& checkable, StateUpdate mode) const;
108+
void UpdateDependenciesState(const Checkable::Ptr& checkable) const;
109109
void UpdateState(const Checkable::Ptr& checkable, StateUpdate mode);
110110
void SendConfigUpdate(const ConfigObject::Ptr& object, bool runtimeUpdate);
111111
void CreateConfigUpdate(const ConfigObject::Ptr& object, const String type, std::map<String, std::vector<String>>& hMSets,

0 commit comments

Comments
 (0)