[
https://issues.jboss.org/browse/IPROTO-63?page=com.atlassian.jira.plugin....
]
Ryan Emerson updated IPROTO-63:
-------------------------------
Description:
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.
was:
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/...].
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
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.5.0#75005)