From 12ed2a56be5e728a6e8e3f127db40c534fa595c5 Mon Sep 17 00:00:00 2001 From: Nikita Mazurenko Date: Fri, 21 Nov 2025 15:40:37 +0200 Subject: [PATCH] Remove exception when user doesn't exist during edge user delete event processing --- .../service/edge/rpc/processor/user/BaseUserProcessor.java | 3 ++- .../service/edge/rpc/processor/user/UserEdgeProcessor.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/BaseUserProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/BaseUserProcessor.java index 14e4da53c0..897e49a7cd 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/BaseUserProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/BaseUserProcessor.java @@ -81,7 +81,8 @@ public abstract class BaseUserProcessor extends BaseEdgeProcessor { protected User deleteUser(TenantId tenantId, UserId userId) { User userById = edgeCtx.getUserService().findUserById(tenantId, userId); if (userById == null) { - throw new IllegalArgumentException(String.format("[%s] Failed to find User with id [%s]", tenantId, userId)); + log.trace("[{}] User with id {} does not exist", tenantId, userId); + return null; } edgeCtx.getUserService().deleteUser(tenantId, userById); return userById; diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/UserEdgeProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/UserEdgeProcessor.java index cfe888b1a5..7905e802bd 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/UserEdgeProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/user/UserEdgeProcessor.java @@ -122,6 +122,9 @@ public class UserEdgeProcessor extends BaseUserProcessor implements UserProcesso private void deleteUserAndPushEntityDeletedEventToRuleEngine(TenantId tenantId, UserId userId, Edge edge) { User removedUser = deleteUser(tenantId, userId); + if (removedUser == null) { + return; + } CustomerId userCustomerId = removedUser.getCustomerId(); String userAsString = JacksonUtil.toString(removedUser); TbMsgMetaData msgMetaData = getEdgeActionTbMsgMetaData(edge, userCustomerId);