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

Bryan Duxbury commented on THRIFT-772:
--------------------------------------

I can assure you that equals and compareTo work. We use those methods all the 
time. I don't know what other fields your ThriftObj has, but you should make 
all of the fields either required or optional. This will ensure that the 
optional ones are *not* serialized or deserialized on either side, and the bit 
vector will be correct.

Also, what version of Thrift are you using?

> __isset_bit_vector state before serialization differs from state after 
> unserialization on native field
> ------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-772
>                 URL: https://issues.apache.org/jira/browse/THRIFT-772
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Library
>    Affects Versions: 0.2
>         Environment: Linux, thrift release 0.2.0 with patch Thrift-746 and 
> Thrift-663
>            Reporter: david herviou
>              Labels: serialization
>         Attachments: thrift-issue-bitset-nativefields.tgz
>
>
> Once java classes have been generated it is possible to test if the fields 
> have been set or not using the method isSetXXX().
> Once one of this java class is instanciated, all call to field.isSetXXX() are 
> returning false which is a good thing (this method ask for 
> __isset_bit_vector.get(XXX))
> Now if you serialize the previous object and unserialize it (without doing 
> any changes on it) the following occured : all fields that corresponds to 
> native data are returning true when isSetXXX() is invoked.
> Consequently, the operation unserialise(serialize(object)) is not an identity 
> function.
> This is mainly due that the __isset_bit_vector is not serialize and rebuild 
> during the  unserialize operation.
> Any idea how to fix this ?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to