From 385fe2fd761eaa5ddc6cec32200800f0fda0e71d Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 12 Jun 2023 12:53:25 +0200 Subject: [PATCH] Icinga DB: also write ConfigObject#original_attributes into Redis for the case the Go daemon decides to sync them into DB. --- lib/icingadb/icingadb-objects.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/icingadb/icingadb-objects.cpp b/lib/icingadb/icingadb-objects.cpp index 7a306c35a..ca93fab7c 100644 --- a/lib/icingadb/icingadb-objects.cpp +++ b/lib/icingadb/icingadb-objects.cpp @@ -1232,9 +1232,16 @@ void IcingaDB::AddObjectDataToRuntimeUpdates(std::vector& runti // for IcingaDB. bool IcingaDB::PrepareObject(const ConfigObject::Ptr& object, Dictionary::Ptr& attributes, Dictionary::Ptr& checksums) { + auto originalAttrs (object->GetOriginalAttributes()); + + if (originalAttrs) { + originalAttrs = originalAttrs->ShallowClone(); + } + attributes->Set("name_checksum", SHA1(object->GetName())); attributes->Set("environment_id", m_EnvironmentId); attributes->Set("name", object->GetName()); + attributes->Set("original_attributes", originalAttrs); Zone::Ptr ObjectsZone; Type::Ptr type = object->GetReflectionType();