Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-9968

Fix deserialization for new fields in PdxSerializable class

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      GIVEN an implementation of a PdxSerializable class
      WHEN a set of entries have been written for this class
      AND after a while, the implementation changes, adding new fields
      AND a new set of entries are written containing some of the added fields
      AND all of the region entries are read
      THEN added fields of the latest entries are empty or contain garbage instead


      Additional information. After analyzing Java implementation for PdxSerializable deserialization, it seems that the client fetches the PdxFields from the remote PdxType, but instead for the C++ implementation, code is different as it uses a mapping called "Local2Remote" (which I suppose it's an optimization). And the current use of this "Local2Remote" mapping is not working correctly under the described scenario.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            gaussianrecurrence Mario Salazar de Torres
            gaussianrecurrence Mario Salazar de Torres

            Dates

              Created:
              Updated:

              Slack

                Issue deployment