Mario Salazar de Torres created GEODE-10276:
-----------------------------------------------

             Summary: Refactor PDX (de)serialziation code to align it with Java 
client
                 Key: GEODE-10276
                 URL: https://issues.apache.org/jira/browse/GEODE-10276
             Project: Geode
          Issue Type: Improvement
          Components: native client
            Reporter: Mario Salazar de Torres


Currently there are the following open issues regarding PDX (de)serialization:
 * [GEODE-9968 - Fix deserialization for new fields in PdxSerializable 
class|https://issues.apache.org/jira/browse/GEODE-9968]
 * [GEODE-9753 - Coredump during PdxSerializable object 
serialization|https://issues.apache.org/jira/browse/GEODE-9753]
 * [GEODE-10220 - Coredump while initializing PdxType 
remoteToLocal|https://issues.apache.org/jira/browse/GEODE-10220]
 * [GEODE-10255 - PdxSerializable not working correctly for multiple versions 
of the same class|https://issues.apache.org/jira/browse/GEODE-10255]

Also, the implementation on this ticket ([GEODE-8212: Reduce connections to 
server to get type id|https://issues.apache.org/jira/browse/GEODE-8212]) 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.




--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to