Какова будет полезная нагрузка для публикации сообщения Post Telemetry в Kafka Тема - Сбой разбора протокола - PullRequest
0 голосов
/ 05 апреля 2019

Сообщение Post Telemetry публикуется в теме Kafka. Сбой механизма правил при анализе сообщения Telemetry. Какова будет полезная нагрузка для сообщения Post Telemetry?

Мы смоделировали сценарий, опубликовав сообщение Post Telemetry в тему Kafka из Rule Engine с использованием узла Kafka. Но в то время как механизм правил анализирует сообщение post telemetry из темы kafka, он выдает следующую ошибку

com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either that the input has been truncated or that an embedded message misreported its own length

2019-04-05 18:37:06,455 [Akka-rule-dispatcher-71] DEBUG o.t.s.a.ruleChain.RuleChainActor - Processing msg: RuleNodeToRuleChainTellNextMsg(originator=30454c20-5560-11e9-8a39-513b18f007c6, relationTypes=[Success], msg=TbMsg(id=d031d960-57d1-11e9-af3f-ad9edc414a87, type=POST_TELEMETRY_REQUEST, originator=46b20440-555a-11e9-9049-e5861a1c8c53, metaData=TbMsgMetaData(data={deviceType=default, offset=2, userName=tenant@thingsboard.org, userId=4642a0a0-555a-11e9-9049-e5861a1c8c53, deviceName=Test Device A1, partition=2, scope=SERVER_SCOPE, topic=tb.rule-engine, ts=1554489426443}), dataType=JSON, data={"Temperature":"99"}, transactionData=TbMsgTransactionData(transactionId=d031d960-57d1-11e9-af3f-ad9edc414a87, originatorId=46b20440-555a-11e9-9049-e5861a1c8c53), ruleChainId=461a3110-555a-11e9-9049-e5861a1c8c53, ruleNodeId=null, clusterPartition=0))
2019-04-05 18:37:06,455 [Akka-rule-dispatcher-71] TRACE o.t.s.a.r.RuleChainActorMessageProcessor - [45f9b0c0-555a-11e9-9049-e5861a1c8c53][30149f30-5560-11e9-8a39-513b18f007c6][d031d960-57d1-11e9-af3f-ad9edc414a87] No outbound relations to process
2019-04-05 18:37:06,456 [pool-9-thread-1] TRACE o.t.s.s.t.RemoteRuleEngineTransportService - Processing 1 records
2019-04-05 18:37:06,456 [pool-9-thread-1] WARN  o.t.s.s.t.RemoteRuleEngineTransportService - Failed to process the notification.
com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either that the input has been truncated or that an embedded message misreported its own length.
        at com.google.protobuf.InvalidProtocolBufferException.truncatedMessage(InvalidProtocolBufferException.java:82)
        at com.google.protobuf.CodedInputStream.skipRawBytesSlowPath(CodedInputStream.java:1284)
        at com.google.protobuf.CodedInputStream.skipRawBytes(CodedInputStream.java:1267)
        at com.google.protobuf.CodedInputStream.skipField(CodedInputStream.java:187)
        at com.google.protobuf.CodedInputStream.skipMessage(CodedInputStream.java:263)
        at com.google.protobuf.CodedInputStream.skipField(CodedInputStream.java:190)
        at org.thingsboard.server.gen.transport.TransportProtos$ToRuleEngineMsg.<init>(TransportProtos.java:22821)
        at org.thingsboard.server.gen.transport.TransportProtos$ToRuleEngineMsg.<init>(TransportProtos.java:22790)
        at org.thingsboard.server.gen.transport.TransportProtos$ToRuleEngineMsg$1.parsePartialFrom(TransportProtos.java:23316)
        at org.thingsboard.server.gen.transport.TransportProtos$ToRuleEngineMsg$1.parsePartialFrom(TransportProtos.java:23311)
        at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:139)
        at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:173)
        at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:185)
        at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:190)
        at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
        at org.thingsboard.server.gen.transport.TransportProtos$ToRuleEngineMsg.parseFrom(TransportProtos.java:22962)
        at org.thingsboard.server.service.transport.ToRuleEngineMsgDecoder.decode(ToRuleEngineMsgDecoder.java:29)
        at org.thingsboard.server.service.transport.To

19-04-05 18:37:06,456 [pool-9-thread-1] WARN  o.t.s.s.t.RemoteRuleEngineTransportService - Failed to process the notification.
com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either that the input has been truncated or that an embedded message misreported its own length.
        at com.google.protobuf.InvalidProtocolBufferException.truncatedMessage(InvalidProtocolBufferException.java:82)

Это скрипт, который я использовал для отправки полезных данных в Kafka

enter code here 
var ms = Date.now();
msg = { "Temperature" :"99" };
msgType = "POST_TELEMETRY_REQUEST";
metadata.deviceType = "default";
metadata.deviceName = "Test Device A1";
metadata.ts=ms;
return { msg: msg,metadata: metadata,msgType: msgType };
...