[ 
https://issues.apache.org/jira/browse/THRIFT-2473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13973735#comment-13973735
 ] 

Nevo Hed commented on THRIFT-2473:
----------------------------------

[~vlovich], Still need a sample

Compiling this

struct x {
        1: required i32 xx,
}

in 0.9.1 produces no isset anywhere in the headers, just in the deserializer 
(to ensure that required fields were deserialized, thats a local flag)

> _isset entries shouldn't be generated for non-optional fields
> -------------------------------------------------------------
>
>                 Key: THRIFT-2473
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2473
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>            Reporter: Vitali Lovich
>
> There's quite a bit of memory overhead (4 bytes per field) that's wasted on 
> every single type.  The __isset field is unused by the thrift type for fields 
> not annotated optional.
> Additionally, it causes confusion in program code since people never know 
> whether or not the __isset struct can be checked for a particular field or 
> not (e.g. for non-optional fields it would never get set normally unless you 
> deserialized it).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to