From 78d3a97dd0a5754b58059a7a6c0b8ffd254fdf03 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Wed, 18 Jun 2025 07:18:54 +0300 Subject: [PATCH] Cleanup actor mailbox messages on destroy --- .../org/thingsboard/server/actors/TbActorMailbox.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/common/actor/src/main/java/org/thingsboard/server/actors/TbActorMailbox.java b/common/actor/src/main/java/org/thingsboard/server/actors/TbActorMailbox.java index 4b822e0030..6cd28fa98d 100644 --- a/common/actor/src/main/java/org/thingsboard/server/actors/TbActorMailbox.java +++ b/common/actor/src/main/java/org/thingsboard/server/actors/TbActorMailbox.java @@ -237,8 +237,14 @@ public final class TbActorMailbox implements TbActorCtx { try { ready.set(NOT_READY); actor.destroy(stopReason, cause); - highPriorityMsgs.forEach(msg -> msg.onTbActorStopped(stopReason)); - normalPriorityMsgs.forEach(msg -> msg.onTbActorStopped(stopReason)); + highPriorityMsgs.removeIf(msg -> { + msg.onTbActorStopped(stopReason); + return true; + }); + normalPriorityMsgs.removeIf(msg -> { + msg.onTbActorStopped(stopReason); + return true; + }); } catch (Throwable t) { log.warn("[{}] Failed to destroy actor: ", selfId, t); }