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

Refactor PDX (de)serialziation code to align it with Java client

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • None
    • None
    • native client

    Description

      Currently there are the following open issues regarding PDX (de)serialization:

      Also, the implementation on this ticket (GEODE-8212: Reduce connections to server to get type id) poses some issues with PDX entries which fields are a permutation. Thing is that PdxTypes which fields are a permutation might use the wrong offsets, leading to a corrupt serialization. This is something that was not taken into account at the time of getting this PR merged.
      So this ticket should be reverted and possibly an alternative solution proposed.

      In order to tackle these issues, a code refactoring is needed to introduce the following implementations:

      • Single type of PdxWriter
      • An implementation PdxReader that tracks unread data, and other that don't.
      • An implementation for PdxInstances that guarantees that fields are actually written in alphabetical order, independently of the writeFields call order. This should tackle the issue described above regarding GEODE-8212.
      • Also, it'd be ideal to make it so PDX code is cleaner and easier to understand, though that's a complex matter, and also, subjective.

      Attachments

        Issue Links

          Activity

            People

              gaussianrecurrence Mario Salazar de Torres
              gaussianrecurrence Mario Salazar de Torres
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: