Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-772

__isset_bit_vector state before serialization differs from state after unserialization on native field

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 0.2
    • Fix Version/s: None
    • Component/s: Java - Library
    • Labels:
    • Environment:

      Linux, thrift release 0.2.0 with patch Thrift-746 and Thrift-663

      Description

      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 ?

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              david.herviou david herviou
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: