[infinispan-issues] [JBoss JIRA] (ISPN-9072) Document Protobuf annotated collection null set callbacks

Adrian Nistor (JIRA) issues at jboss.org
Mon Jul 9 05:02:00 EDT 2018


    [ https://issues.jboss.org/browse/ISPN-9072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13602208#comment-13602208 ] 

Adrian Nistor edited comment on ISPN-9072 at 7/9/18 5:01 AM:
-------------------------------------------------------------

The issue is solved in protostream, to be included in next 4.3 release which will be used by ISPN 9.4.
The fix consists of always setting empty collections instead of nulls. This has a slight chance to break existing code and the idea of introducing an attribute in ProtoField annotation was intended to avoid that, but given the limited potential impact I deferred that for now.


was (Author: anistor):
The issue is solved protostream, to be included in next 4.3 release which will be used by ISPN 9.4.
The fix consists of always setting empty collections instead of nulls. This has a slight chance to break existing code and the idea of introducing an attribute in ProtoField annotation was intended to avoid that, but given the limited potential impact I deferred that for now.

> Document Protobuf annotated collection null set callbacks
> ---------------------------------------------------------
>
>                 Key: ISPN-9072
>                 URL: https://issues.jboss.org/browse/ISPN-9072
>             Project: Infinispan
>          Issue Type: Task
>          Components: Documentation-Query
>    Affects Versions: 9.2.1.Final
>            Reporter: Galder Zamarreño
>            Assignee: Adrian Nistor
>             Fix For: 9.4.0.Final
>
>
> When using collection fields in Protobuf annotated classes, empty collections are marshalled into the same value as {{null}}, because Protobuf only has repeated fields and no fields is represented as {{null}}.
> This means that if you have an entity with an empty collection, when it's deserialized the collection will be null. This can be confusing for users and should be documented.
> [~anistor] had some ideas on how to improve this:
> {code}
> <anistor> I'm thinking of a way to make this easier for users that
>     would prefer an empty collection being set instead of a
>     null. would be possible by adding a new attribute for this in
>     @ProtoField anotation
> > that'd be more predictable
> <anistor> would still not give you at deserializtion what was written
>     during serialization. we do not have a null marker
> <anistor> it would just give you an empty collection if you prefer
> <anistor> instead of null
> > that option should be enabled by default
> {code}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)



More information about the infinispan-issues mailing list