From 9badbc5232884a163ca3af65fd53abb49bf58e79 Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Thu, 28 Sep 2023 18:33:10 +0200 Subject: [PATCH] broker/Manager: Fix deletion of composite keys Follow-up for commit 44ae8f9e8f25ff403707026657e000693550873f. Closes #3342. --- src/broker/Manager.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/broker/Manager.cc b/src/broker/Manager.cc index a42fb11f19..da81ceb7d4 100644 --- a/src/broker/Manager.cc +++ b/src/broker/Manager.cc @@ -1338,9 +1338,15 @@ void Manager::ProcessStoreEvent(broker::data msg) auto key = erase.key(); DBG_LOG(DBG_BROKER, "Store %s: Erase key %s", erase.store_id().c_str(), to_string(key).c_str()); + const auto& its = table->GetType()->AsTableType()->GetIndexTypes(); - assert(its.size() == 1); - auto zeek_key = detail::data_to_val(key, its[0].get()); + ValPtr zeek_key; + if ( its.size() == 1 ) + zeek_key = detail::data_to_val(key, its[0].get()); + else + zeek_key = detail::data_to_val(key, + table->GetType()->AsTableType()->GetIndices().get()); + if ( ! zeek_key ) { reporter->Error("ProcessStoreEvent: could not convert key \"%s\" for store \"%s\" "