Browse Source

Don't create Rule Engine consumer when no partitions to avoid NPE when deleting queue

pull/10394/head
ViacheslavKlimov 3 years ago
parent
commit
32f0c3c67c
  1. 10
      application/src/main/java/org/thingsboard/server/service/queue/DefaultTbRuleEngineConsumerService.java

10
application/src/main/java/org/thingsboard/server/service/queue/DefaultTbRuleEngineConsumerService.java

@ -114,9 +114,17 @@ public class DefaultTbRuleEngineConsumerService extends AbstractConsumerService<
if (partitionService.isManagedByCurrentService(queueKey.getTenantId())) {
var consumer = getConsumer(queueKey).orElseGet(() -> {
Queue config = queueService.findQueueByTenantIdAndName(queueKey.getTenantId(), queueKey.getQueueName());
if (config == null) {
if (!partitions.isEmpty()) {
log.error("[{}] Queue configuration is missing", queueKey, new RuntimeException("stacktrace"));
}
return null;
}
return createConsumer(queueKey, config);
});
consumer.update(partitions);
if (consumer != null) {
consumer.update(partitions);
}
}
});
consumers.keySet().stream()

Loading…
Cancel
Save