Closed bobjana closed 7 years ago
Yes, we've seen this.
What should the expected behaviour be in the various cases?
As a first pass, it shouldn't throw a Nullpointer exception.
Then I suppose if none of the susbcribers are actually listening to the event in question, it should just ignore it. Otherwise if it is unable to deserialize the event, it should log an error message which describes the reason for failing deserialization
2017-06-22 11:51:04.519 INFO 439 --- [ channel-4] nClusterAwareTrackingSubscriptionManager : Event{eventType='AdministratorCreatedEvent', streamName='security-service/Customer', schema='null', causedById=null, causedByRelation='null', service='security-service', orderId=37, eventTime=1498125022716} java.lang.NullPointerException at io.muoncore.protocol.event.Event.getPayload(Event.java:83) at io.muoncore.newton.cluster.MuonClusterAwareTrackingSubscriptionManager.lambda$localTrackingSubscription$7(MuonClusterAwareTrackingSubscriptionManager.java:107) at io.muoncore.newton.cluster.MuonClusterAwareTrackingSubscriptionManager$EventSubscriber.onNext(MuonClusterAwareTrackingSubscriptionManager.java:136) at io.muoncore.newton.cluster.MuonClusterAwareTrackingSubscriptionManager$EventSubscriber.onNext(MuonClusterAwareTrackingSubscriptionManager.java:119) at io.muoncore.protocol.event.client.DefaultEventClient$1.onNext(DefaultEventClient.java:144) at io.muoncore.protocol.event.client.DefaultEventClient$1.onNext(DefaultEventClient.java:134) at io.muoncore.protocol.reactivestream.client.ReactiveStreamClientProtocol.handleMessage(ReactiveStreamClientProtocol.java:102) at io.muoncore.channel.impl.WiretapChannel$2.lambda$send$0(WiretapChannel.java:64) at io.muoncore.transport.client.RingBufferLocalDispatcher.route(RingBufferLocalDispatcher.java:404) at io.muoncore.transport.client.RingBufferLocalDispatcher$SingleThreadTask.run(RingBufferLocalDispatcher.java:297) at io.muoncore.transport.client.RingBufferLocalDispatcher$3.onEvent(RingBufferLocalDispatcher.java:171) at io.muoncore.transport.client.RingBufferLocalDispatcher$3.onEvent(RingBufferLocalDispatcher.java:168) at reactor.jarjar.com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)