From f671374762efac4bb611e14b90332a3e780e27f4 Mon Sep 17 00:00:00 2001 From: Julian Brost Date: Wed, 12 Jan 2022 15:29:51 +0100 Subject: [PATCH] Icinga DB: don't reimplement volatile state update in SendConfigUpdate Sending a volatile state update is already implemented in UpdateState, so just use that function instead of generating the update queries. --- lib/icingadb/icingadb-objects.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/icingadb/icingadb-objects.cpp b/lib/icingadb/icingadb-objects.cpp index aac4a3104..2d36506bc 100644 --- a/lib/icingadb/icingadb-objects.cpp +++ b/lib/icingadb/icingadb-objects.cpp @@ -1161,16 +1161,7 @@ void IcingaDB::SendConfigUpdate(const ConfigObject::Ptr& object, bool runtimeUpd CreateConfigUpdate(object, typeName, hMSets, runtimeUpdates, runtimeUpdate); Checkable::Ptr checkable = dynamic_pointer_cast(object); if (checkable) { - String objectKey = GetObjectIdentifier(object); - Dictionary::Ptr state = SerializeState(checkable); - String checksum = HashValue(state); - - m_Rcon->FireAndForgetQuery({"HSET", m_PrefixConfigObject + typeName + ":state", objectKey, JsonEncode(state)}, Prio::RuntimeStateSync); - m_Rcon->FireAndForgetQuery({"HSET", m_PrefixConfigCheckSum + typeName + ":state", objectKey, JsonEncode(new Dictionary({{"checksum", checksum}}))}, Prio::RuntimeStateSync); - - if (runtimeUpdate) { - UpdateState(checkable, StateUpdate::RuntimeOnly); - } + UpdateState(checkable, runtimeUpdate ? StateUpdate::Full : StateUpdate::Volatile); } std::vector > transaction = {{"MULTI"}};