Hello,
I'd like to use ProtoStream for serialization between Client and Server Infinispan. So I annotated the classes with @ProtoMessage and @ProtoField to generate the proto file and the marshallers.
I also tried to use @UnknownFieldSet to handle data model changes. But I've got the following error when the client with version 1 read the data written by the client version 2 (one field is added in version 2)
java.lang.IllegalAccessError: tried to access class org.infinispan.protostream.impl.UnknownFieldSetImpl from class test.Book$___ProtostreamGeneratedMarshaller2
Do you have any idea if this is a bug or if I didn't understand how to use @UnknownFieldSet.
FYI, I used Infinispan 9.4.4 and ProtoStream 4.2.2.
Thanks
Updated:
I activated level Trace to have the code of the generated marshaller and I found:
default:
{
org.infinispan.protostream.UnknownFieldSet u = o.getUnknown();
if (u == null) u = new org.infinispan.protostream.impl.UnknownFieldSetImpl();
if (!u.readSingleField(tag, $2)) done = true;
if (!u.isEmpty()) o.setUnknown(u);
}
The error is clear, the class UnknownFieldSetImpl is not public.