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; 
}

Reply via email to