Browse Source

Cleanup actor mailbox messages on destroy

pull/13570/head
ViacheslavKlimov 1 year ago
parent
commit
78d3a97dd0
  1. 10
      common/actor/src/main/java/org/thingsboard/server/actors/TbActorMailbox.java

10
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);
}

Loading…
Cancel
Save