Hi,
I developed producer and consumer application using protobuff and zeromq, I
am publishing 2 events from producers at 100Hz and 10Hz using scheduled
executor service, most of the time i am getting correct messages at
consumer side but also getting some incorrect messages, due to this unable
to decode messages with protobuff. I ran my producer and consumer for 12hr.
exchanged nearly 47,00,00,000 to 48,00,00,000 messages and found that 10-20
messages are getting lost unable to get what can be the issue attaching my
sample code and exception details.
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.
val eventSubscriber = new Runnable {
override def run(): Unit = {
while (simEventSubscriber.get()) {
try {
val eventName: String = subscribeSocket.recvStr()
if (subscribeSocket.hasReceiveMore) {
val eventData = subscribeSocket.recv(ZMQ.DONTWAIT)
val hcdReceivalTime = Instant.now
val currentState = messageTransformer.decodeEvent(eventName,
eventData)
} else {
log.error(s"No event data is received for event: $eventName")
}
} catch {
case e: Exception =>
e.printStackTrace()
log.error("exception in subscribing events from simulator: ",
Map.empty, e, noId)
}
}
}
}
//MessageTransformer code:
override def decodeEvent(eventName: String, encodedEventData: Array[Byte]):
Event = {
eventName match {
case Event1 =>
var event: Event1 = null
log.error(s"Decoding event: $eventName for data: $encodedEventData")
try {
event = XXDSEventsProtos.Event1.parseFrom(encodedEventData)
} catch {
case e: Exception =>
e.printStackTrace()
null
}
case Event2 =>
var event: Event2 = null
try {
log.error(s"Decoding event: $eventName for data: $encodedEventData")
event = XXDSEventsProtos.Event2.parseFrom(encodedEventData)
} catch {
case e: Exception =>
log.error("Exception while getting health event", Map.empty, e,
noId)
e.printStackTrace()
null
}
}
}
syntax = "proto3";
package eventpoc;
import "google/protobuf/timestamp.proto";
option java_package = "ABC";
option java_outer_classname = "XXDSEventsProtos";
message Event2{
enum Health {
Good = 0;
Ill = 1;
Bad = 2;
interlocked = 3;
unknown =4;
}
Health healthMCS = 1;
string reason = 2;
google.protobuf.Timestamp time = 3;
}
message Event1 {
// conjunction of azInPosition and elInPosition
bool mcsInPosition = 1;
double azPos = 2;
double azPosDemand = 3;
double azPosError = 4;
bool azInPosition = 5;
double elPos = 6;
double elPosDemand = 7;
double elPosError = 8;
bool elInPosition = 9;
google.protobuf.Timestamp encodeLatchingTime = 10;
int32 azPosDmdErrCount = 11;
int32 elPosDmdErrCount = 12;
double azWrapPos = 13;
double azWrapPosDemand = 14;
double azWrapPosError = 15;
google.protobuf.Timestamp time = 16;
}
val evntRunner1 = new Runnable {
override def run(): Unit = {
if (Event1Publisher.get()) {
val instant = Instant.now()
val timeStamp =
Timestamp.newBuilder.setSeconds(instant.getEpochSecond).setNanos(instant.getNano).build()
val Event1 : Event1 = XXDSEventsProtos.Event1.newBuilder()
.setAzPos(azC)
.setElPos(elC)
.setAzPosError(azC)
.setElPosError(elC)
.setAzInPosition(true)
.setElInPosition(true)
.setTime(timeStamp)
//All dummy paramters below
.setMcsInPosition(true)
.setAzPosDemand(azC)
.setElPosDemand(elC)
.setEncodeLatchingTime(timeStamp)
.setAzPosDmdErrCount(1)
.setElPosDmdErrCount(1)
.setAzWrapPos(azC)
.setAzWrapPosDemand(azC)
.setAzWrapPosError(azC)
.build()
try{
if(pubSocket.sendMore("Event1")){
val currPos : Array[Byte] = DSEvent1.toByteArray
if(pubSocket.send(currPos,ZMQ.NOBLOCK)){
println(s"Successfully published Event1 event data
${DSEvent1.getA1},${DSEvent1.getE1},${DSEvent1.getTime} and byteArray:
$currPos")
}else{
println(s"!!!!!!!! Error occured while publishing current
position : $DSEvent1")
}
}else{
println(s"!!!!!!!! Error occured while publishing current position:
$DSEvent1")
}
}catch{
case e : Exception =>
e.printStackTrace()
println("------------------- Exception occured while publishing
current position event.---------------------------")
}
}
}
}
val eventRunner2 : Runnable = new Runnable {
override def run(): Unit = {
if (Event2Publisher.get()) {
val instant = Instant.now()
val timeStamp =
Timestamp.newBuilder.setSeconds(instant.getEpochSecond).setNanos(instant.getNano).build()
val event2 = XXDSEventsProtos.Event2.newBuilder()
.setHealthMCS(XXDSEventsProtos.Event2.Health.Good)
.setReason("All is well")
.setTime(timeStamp)
.build()
if(pubSocket.sendMore("Health")){
val healthBytes = mcsHealth.toByteArray
if(pubSocket.send(healthBytes,ZMQ.NOBLOCK)){
println(s"Sent health event: $event2 with bytes : $healthBytes")
}else{
println(s"!!!!!!!! Error occured while publishing health information
: $mcsHealth")
}
}
}
}
}
om.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:86)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readRawLittleEndian64(CodedInputStream.java:1179)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readFixed64(CodedInputStream.java:791)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:534)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:15043)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:14896)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16502)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16496)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event1.parseFrom(EventsProtos.java:15541)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:40)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:138)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:138)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:138)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:138)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:138)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
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:86)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readRawLittleEndian64(CodedInputStream.java:1179)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readFixed64(CodedInputStream.java:791)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:534)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:15043)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:14896)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16502)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16496)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event1.parseFrom(EventsProtos.java:15541)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:40)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:15043)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:14896)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16502)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16496)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event1.parseFrom(EventsProtos.java:15541)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:40)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
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:86)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readRawLittleEndian64(CodedInputStream.java:1179)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readFixed64(CodedInputStream.java:791)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:534)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:15043)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:14896)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16502)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16496)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event1.parseFrom(EventsProtos.java:15541)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:40)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group
tag did not match expected tag.
at
com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:110)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:654)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:857)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:541)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1823)
at ABC.protos.EventsProtos$Event2.<init>(EventsProtos.java:1759)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2663)
at
ABC.protos.EventsProtos$Event2$1.parsePartialFrom(EventsProtos.java:2657)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event2.parseFrom(EventsProtos.java:2166)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:58)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
java.lang.NullPointerException
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:86)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readRawLittleEndian64(CodedInputStream.java:1179)
at
com.google.protobuf.CodedInputStream$ArrayDecoder.readFixed64(CodedInputStream.java:791)
at
com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:534)
at
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:305)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:15043)
at ABC.protos.EventsProtos$Event1.<init>(EventsProtos.java:14896)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16502)
at
ABC.protos.EventsProtos$Event1$1.parsePartialFrom(EventsProtos.java:16496)
at
com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:163)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:197)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:209)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:214)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49)
at ABC.protos.EventsProtos$Event1.parseFrom(EventsProtos.java:15541)
at
ABC.ProtoBuffMsgTransformer.decodeEvent(ProtoBuffMsgTransformer.scala:40)
at
ABC.Protocol.ZeroMQProtocolActor$$anon$1.run(ZeroMQProtocolActor.scala:136)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
syntax = "proto3";
package eventpoc;
import "google/protobuf/timestamp.proto";
option java_package = "ABC";
option java_outer_classname = "XXDSEventsProtos";
message Event1 {
bool mcsInPosition = 1;
double azPos = 2;
double azPosDemand = 3;
double azPosError = 4;
bool azInPosition = 5;
double elPos = 6;
double elPosDemand = 7;
double elPosError = 8;
bool elInPosition = 9;
google.protobuf.Timestamp encodeLatchingTime = 10;
int32 azPosDmdErrCount = 11;
int32 elPosDmdErrCount = 12;
double azWrapPos = 13;
double azWrapPosDemand = 14;
double azWrapPosError = 15;
google.protobuf.Timestamp time = 16;
}
message Event2{
enum Health {
Good = 0;
Ill = 1;
Bad = 2;
interlocked = 3;
unknown =4;
}
Health healthMCS = 1;
string reason = 2;
google.protobuf.Timestamp time = 3;
}