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.