diff --git a/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java b/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java index 795d0e35a..1e4ac9c32 100644 --- a/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java +++ b/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java @@ -107,8 +107,11 @@ public class OperationsLog extends StrolchComponent { LinkedHashMap> byLocator = this.logMessagesByLocator.get(realmName); if (byLocator != null) { LinkedHashSet messages = byLocator.get(message.getLocator()); - if (messages != null) + if (messages != null) { messages.remove(message); + if (messages.isEmpty()) + byLocator.remove(message.getLocator()); + } } LinkedHashSet messages = this.logMessagesByRealmAndId.get(realmName); @@ -133,8 +136,11 @@ public class OperationsLog extends StrolchComponent { if (byLocator != null) { messages.forEach(logMessage -> { LinkedHashSet tmp = byLocator.get(logMessage.getLocator()); - if (tmp != null) + if (tmp != null) { tmp.remove(logMessage); + if (tmp.isEmpty()) + byLocator.remove(logMessage.getLocator()); + } }); }