[ https://issues.apache.org/jira/browse/GEODE-10076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mario Salazar de Torres updated GEODE-10076: -------------------------------------------- Description: *GIVEN* a PdxSerializable implementation with a string field *WHEN* an ASCII string is written *THEN* the string is serialized with the DSCode CacheableString ---- *Additional information.* In the Java client, whenever writing an string, the string is parsed and the DSCode is assigned depending on the string codification. In the native client, it's always set to CacheableString, whenever for example in the case of an ASCII string should be CacheableASCIIString Also I've noticed the following scenario requires to fix the codepoint detection: # From a native client, I create an object using a PdxSerializable implementation, which has an String field. # After that, we are reading this object from a java client which cache has readPdxSerialized=true and comparing it with a PdxInstance created locally inside the Java client. # As PdxInstanceImpl.equals method uses rawBytes for strings, if the string is serialized using different DSCodes, the comparison will fail, even if the length and content are the same. was: *GIVEN* a PdxSerializable implementation with a string field *WHEN* an ASCII string is written *THEN* the string is serialized with the DSCode CacheableString ---- *Additional information.* In the Java client, whenever writing an string, the string is parsed and the DSCode is assigned depending on the string codification. In the native client, it's always set to CacheableString, whenever for example in the case of an ASCII string should be CacheableASCIIString > Fix string codepoint detection > ------------------------------ > > Key: GEODE-10076 > URL: https://issues.apache.org/jira/browse/GEODE-10076 > Project: Geode > Issue Type: Improvement > Components: native client > Reporter: Mario Salazar de Torres > Priority: Major > > *GIVEN* a PdxSerializable implementation with a string field > *WHEN* an ASCII string is written > *THEN* the string is serialized with the DSCode CacheableString > ---- > *Additional information.* In the Java client, whenever writing an string, the > string is parsed and the DSCode is assigned depending on the string > codification. In the native client, it's always set to CacheableString, > whenever for example in the case of an ASCII string should be > CacheableASCIIString > Also I've noticed the following scenario requires to fix the codepoint > detection: > # From a native client, I create an object using a PdxSerializable > implementation, which has an String field. > # After that, we are reading this object from a java client which cache has > readPdxSerialized=true and comparing it with a PdxInstance created locally > inside the Java client. > # As PdxInstanceImpl.equals method uses rawBytes for strings, if the string > is serialized using different DSCodes, the comparison will fail, even if the > length and content are the same. -- This message was sent by Atlassian Jira (v8.20.1#820001)