Open LongMaxK opened 1 year ago
Hello @LongMaxK could you please attach a full tb-edge.log file to the ticket? Sending telemetry to the device over MQTT protocol using an access token is the base functionality and should be supported by the edge.
Hello!!!!
I've solved the problem, but I'm afraid this workaround is not good. When I was debugging the code, I found that there were only two pieces of data in the partitionSizeMap in the method. When I analyzed the code logic, I found that the content of the database was missing, but I ran the install first and then ran the service. So I added three pieces of data to the queue table, and the current problem was solved.
I don't know why the content in the database is missing, and am worried that other follow-up problems may arise.
whats more,I really like thingsboard and thank you so much for getting back to me, thank you so much! !
I lost the log,sorry,But there are only these in the log, the rest look normal
@LongMaxK thanks for the update! I suppose you had found a critical bug in the core functionality of the edge on the initial startup of the service (under specific conditions, hash service is initialized incorrectly and messes all around). I'm going to investigate it once get a chance more deeply and get back into this topic.
ok!!thx,xd
Description When I get the access token for the device, I get an error when I use Mqttbox to send telemetry to the device (using edge, I've made sure the same is possible on thingsboard) please help me !!
detail 2022-09-16 00:23:08,320 [ts-service-ts-callback-24-thread-1] WARN o.t.s.s.action.EntityActionService - [fbd5dcd0-350c-11ed-8217-7bf37942aed4] Failed to push entity action to rule engine: ATTRIBUTES_UPDATED (not only this) java.lang.NullPointerException: null at org.thingsboard.server.queue.discovery.HashPartitionService.resolve(HashPartitionService.java:202) at org.thingsboard.server.queue.discovery.HashPartitionService.resolve(HashPartitionService.java:188) at jdk.internal.reflect.GeneratedMethodAccessor214.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) at com.sun.proxy.$Proxy239.resolve(Unknown Source) at org.thingsboard.server.service.queue.DefaultTbClusterService.pushMsgToRuleEngine(DefaultTbClusterService.java:189) at org.thingsboard.server.service.action.EntityActionService.pushEntityActionToRuleEngine(EntityActionService.java:206) at org.thingsboard.server.service.action.EntityActionService.logEntityAction(EntityActionService.java:219) at org.thingsboard.server.service.entitiy.DefaultTbNotificationEntityService.logEntityAction(DefaultTbNotificationEntityService.java:95) at org.thingsboard.server.service.entitiy.DefaultTbNotificationEntityService.logEntityAction(DefaultTbNotificationEntityService.java:68) at org.thingsboard.server.controller.TelemetryController.logAttributesUpdated(TelemetryController.java:906) at org.thingsboard.server.controller.TelemetryController$3.onSuccess(TelemetryController.java:704) at org.thingsboard.server.controller.TelemetryController$3.onSuccess(TelemetryController.java:701) at org.thingsboard.server.service.telemetry.DefaultTelemetrySubscriptionService$4.onSuccess(DefaultTelemetrySubscriptionService.java:409) at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1080) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
in src/main/java/org/thingsboard/server/queue/discovery/HashPartitionService.java(line 192?) public TopicPartitionInfo resolve(ServiceType serviceType, TenantId tenantId, EntityId entityId) { return resolve(serviceType, null, tenantId, entityId); }
in partitionSizesMap: size = 2 QK(Main,TB_CORE,system) and QK(Main,TB_VC_EXECUTOR,system)
Environment