[JBoss JIRA] (IPROTO-63) writeObject throws IllegalArgumentException with oneof label
by Nistor Adrian (Jira)
[ https://issues.jboss.org/browse/IPROTO-63?page=com.atlassian.jira.plugin.... ]
Nistor Adrian updated IPROTO-63:
--------------------------------
Fix Version/s: 4.3.0.Alpha13
(was: 4.3.0.Alpha12)
> writeObject throws IllegalArgumentException with oneof label
> ------------------------------------------------------------
>
> Key: IPROTO-63
> URL: https://issues.jboss.org/browse/IPROTO-63
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha13, 4.3.0.Final
>
>
> The below schema results in the following exception:
> Schema:
> {code:java}
> message EntryVersion {
> oneof version {
> NumericVersion numeric = 1;
> ClusteredVersion clustered = 2;
> }
> // optional NumericVersion numeric = 1;
> // optional ClusteredVersion clustered = 2;
> }
> message NumericVersion {
> required int64 version = 1;
> }
> message ClusteredVersion {
> required int64 version = 1;
> required int32 topology = 2;
> }
> {code}
> Exception:
> {code:java}
> java.lang.IllegalArgumentException: Declared field type is not a message or an enum : numeric
> {code}
> It seems this is caused because the type for the field "numeric" is null in the associated FieldDescriptor object that is retrieved in the [writeObject impl|https://github.com/infinispan/protostream/blob/master/core/src/main/...].
> If the oneof label is replaced with the commented optional fields, the marshallers work as expected.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 3 months