WARN "Sending processor status failed: null" until a command or query is sent

Hello,

I upgraded Axon Framework and Axon Server to 4.1.

My microservices that are still on 4.0.3 connect on Axon Server normally, however the microservice that I upgraded to 4.1 can’t connect until a command or query is sent.

`

2019-03-14 11:30:40.535 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:41.006 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:41.507 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:42.006 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:42.503 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:43.006 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:43.504 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:44.007 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:44.506 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:45.006 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:45.223 INFO 68736 — [nio-8090-exec-1] o.a.a.c.AxonServerConnectionManager : Connecting using unencrypted connection…
2019-03-14 11:30:45.505 WARN 68736 — [pool-2-thread-1] o.a.a.c.p.g.GrpcEventProcessorInfoSource : Sending processor status failed: null
2019-03-14 11:30:45.583 INFO 68736 — [nio-8090-exec-1] o.a.a.c.AxonServerConnectionManager : Re-subscribing commands and queries

`

A warn is logged on GrpcEventProcessorInfoSource.notifyInformation, because the inputStream property on AxonServerConnectionManager is null.

Hi Renê ,
Thanks for reporting this issue.

As your client probably does not have any tracking event processors, it does not connect to AxonServer until the first command or query is sent, resulting in the null pointer exception.

This does not in any way influence the behavior of your application, but it does look worrying. We will address this issue in the next patch release.

Marc Gathier

Hi Marc,

Thank you for the reply.

Ok, I understand. I’m not using Axon Server as event store, I’m using Kafka instead.

I would also like to know if you have an idea of when a final version of Kafka extension will be released.

Thank you.

Hi Renê,

We currently do not have an estimated time of arrival for a none-milestone release of the Kafka Extension.
I can assure you we will be vocal about this once we have such a data; in the mean time, I’d like to ask you to have patients in this respect.

Do note that from AxonIQ’s stand point we do not recommend to use Kafka as an Event Store, but more so as a means to distributed messages between several of your (micro)services.

The main thought behind this is that Kafka, in it’s generic and definitely speedy solution, does not provide the ideal means to retrieve a dedicated event stream for a single aggregate.
Thus, Event Sourcing your Aggregate is less than ideal in a Kafka world.
Hence why the Kafka extension we are providing is not implementing the EventStore interface, but implementing the StreamableMessageSource interface which is used by the TrackingEventProcessors.

From the perspective of Axon Server, I can imagine that somewhere in the future it should be able to configure a Kafka topic directly on to it for message streaming purposes.

Hope this gives you some background Renê!

Cheers,

Steven van Beelen

Axon Framework Lead Developer

AxonIQ

Hi Steven,

Thanks a lot for your reply.

I apologize, I misused the term ‘Event store’. We are using Kafka the same way that you mentioned, as a means to distribute events between the microservices.