Mario Salazar de Torres created GEODE-9968:
----------------------------------------------
Summary: Fix deserialization for new fields in PdxSerializable
class
Key: GEODE-9968
URL: https://issues.apache.org/jira/browse/GEODE-9968
Project: Geode
Issue Type: Bug
Components: native client
Reporter: Mario Salazar de Torres
*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.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)