Projection from events with protobuf serialization

Hi all,

I implemented a Projection with Events from Akka Persistence serialized with the ProtobufSerializer. The projection is implemented in a different project and runs as a standalone process.

Whenever the system with the persistent entity gets an update that introduces a new event class, say NewEventIntroducedWithRelease4711, the projection fails with

[2022-06-13 14:02:05,620] [WARN] [a.s.s.RestartWithBackoffSource] [] [mysystem.actor.default-dispatcher-17] [] - Restarting stream due to failure [5]: java.io.NotSerializableException: Cannot find manifest class [sample.Protos$NewEventIntroducedWithRelease4711] for serializer with id [2].

This basically introduces a hard dependency to the version of the persistent entity if a new event was introduced, even if the recovery strategy is set to skip the projection fails and only comes up again if also a new release of the projection project is built, including the new proto files.

Is there any way around this? In my case manytimes the new event of the persistent entity isn’t used in the projection for quite some time.

Regards
Dominik