[ https://issues.apache.org/jira/browse/GEODE-7794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17035755#comment-17035755 ]
ASF subversion and git services commented on GEODE-7794: -------------------------------------------------------- Commit 728c393150c2a83dad2ba00318561844520de55e in geode-native's branch refs/heads/develop from Matthew Reddington [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=728c393 ] GEODE-7794: Checking for null result and falling back to PdxInstance deserialization. (#575) Fixes a bug where, when issuing two get() requests back-to-back for the same key, the second result returned is a PdxWrapper object with a shared pointer to null. > __GEMFIRE_JSON PDX type has invalid PdxType > ------------------------------------------- > > Key: GEODE-7794 > URL: https://issues.apache.org/jira/browse/GEODE-7794 > Project: Geode > Issue Type: Bug > Components: native client > Reporter: Matthew Reddington > Priority: Major > Time Spent: 50m > Remaining Estimate: 0h > > The native client is built on the presumption that class name is unique. > Since the introduction of __GEMFIRE_JSON, that is no longer the case. Where > the logic presumes it can use cached deserialization rules in the form of a > PdxType, looked up by name, this is no longer the case. > > What we have observed is if a cache instance does not have a PdxType for a > __GEMFIRE_JSON class instance, the first get and deserialization will > succeed, but all subsequent gets will result in an empty PdxWrapper. > > Steps to reproduce: > 1) Instantiate an instance of Cache. > 2) Put a PDX value with class name __GEMFIRE_JSON. > 3) Instantiate a second instance of Cache. > 4) Use this cache to make two consecutive gets of the PDX value. Inspect > the results. > > Observations: > 1) The first get will succeed in returning an instance of PdxInstance with > the expected fields and values as per step #2. > 2) The second get will return a PdxWrapper of class name __GEMFIRE_JSON and > a user object of null. -- This message was sent by Atlassian Jira (v8.3.4#803005)