From a470cf6523a812ce4392ae8fc67b037c35359b9d Mon Sep 17 00:00:00 2001 From: dshvaika Date: Fri, 5 Dec 2025 15:54:06 +0200 Subject: [PATCH] Fixed incorrect number of callbacks --- .../CalculatedFieldEntityMessageProcessor.java | 5 ++--- .../state/propagation/PropagationCalculatedFieldState.java | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/calculatedField/CalculatedFieldEntityMessageProcessor.java b/application/src/main/java/org/thingsboard/server/actors/calculatedField/CalculatedFieldEntityMessageProcessor.java index 209c2d88a0..55635e9f9d 100644 --- a/application/src/main/java/org/thingsboard/server/actors/calculatedField/CalculatedFieldEntityMessageProcessor.java +++ b/application/src/main/java/org/thingsboard/server/actors/calculatedField/CalculatedFieldEntityMessageProcessor.java @@ -226,7 +226,6 @@ public class CalculatedFieldEntityMessageProcessor extends AbstractContextAwareM private void handleRelationUpdate(CalculatedFieldRelationActionMsg msg) throws CalculatedFieldException { CalculatedFieldCtx ctx = msg.getCalculatedField(); - var callback = new MultipleTbCallback(CALLBACKS_PER_CF, msg.getCallback()); var state = states.get(ctx.getCfId()); try { Map updatedArgs = null; @@ -246,10 +245,10 @@ public class CalculatedFieldEntityMessageProcessor extends AbstractContextAwareM msg.getCallback().onSuccess(); return; } + state.checkStateSize(new CalculatedFieldEntityCtxId(tenantId, ctx.getCfId(), entityId), ctx.getMaxStateSize()); } - state.checkStateSize(new CalculatedFieldEntityCtxId(tenantId, ctx.getCfId(), entityId), ctx.getMaxStateSize()); if (state.isSizeOk()) { - processStateIfReady(state, updatedArgs, ctx, Collections.singletonList(ctx.getCfId()), null, null, callback); + processStateIfReady(state, updatedArgs, ctx, Collections.singletonList(ctx.getCfId()), null, null, msg.getCallback()); } else { throw CalculatedFieldException.builder().ctx(ctx).eventEntity(entityId).errorMessage(ctx.getSizeExceedsLimitMessage()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/propagation/PropagationCalculatedFieldState.java b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/propagation/PropagationCalculatedFieldState.java index 7a182d0a84..5a7753c86a 100644 --- a/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/propagation/PropagationCalculatedFieldState.java +++ b/application/src/main/java/org/thingsboard/server/service/cf/ctx/state/propagation/PropagationCalculatedFieldState.java @@ -36,7 +36,6 @@ import org.thingsboard.server.service.cf.ctx.state.SingleValueArgumentEntry; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; import static org.thingsboard.server.common.data.cf.configuration.PropagationCalculatedFieldConfiguration.PROPAGATION_CONFIG_ARGUMENT; @@ -74,10 +73,10 @@ public class PropagationCalculatedFieldState extends ScriptCalculatedFieldState entityIds = List.of(propagationArgumentEntry.getAdded()); propagationArgumentEntry.setAdded(null); } else { - entityIds = List.copyOf(propagationArgumentEntry.getEntityIds()); - if (entityIds.isEmpty()) { + if (propagationArgumentEntry.getEntityIds().isEmpty()) { return Futures.immediateFuture(PropagationCalculatedFieldResult.builder().build()); } + entityIds = List.copyOf(propagationArgumentEntry.getEntityIds()); } if (ctx.isApplyExpressionForResolvedArguments()) { return Futures.transform(super.performCalculation(updatedArgs, ctx), telemetryCfResult ->