Dan Smith created GEODE-4116: -------------------------------- Summary: Can't get PDX objects using the new protocol Key: GEODE-4116 URL: https://issues.apache.org/jira/browse/GEODE-4116 Project: Geode Issue Type: Bug Components: client/server Reporter: Dan Smith
The new client protocol doesn't correctly support PDX objects. The GetRequestOperationHandler directly calls region.get, which will *deserialize* the value stored in the region. The operation handler is expecting to get a PdxInstance back, but that will only happen if the cache has read-serialized set to true. I've attached a unit test that demonstrates this issue. If a region contains PDX objects and read-serialized is set to false (the default), the new protocol will throw exceptions if you try to get a value. {noformat} [error 2017/12/18 15:00:23.302 PST <ServerConnection on port 25194 Thread 0> tid=51] Received Get request with unsupported encoding: {} org.apache.geode.internal.protocol.serialization.exception.UnsupportedEncodingTypeException: We cannot translate: class org.apache.geode.internal.protocol.protobuf.v1.acceptance.CacheOperationsJUnitTest$TestPdxObject into a specific Protobuf Encoding at org.apache.geode.internal.protocol.protobuf.v1.EncodingTypeTranslator.getEncodingTypeForObject(EncodingTypeTranslator.java:63) at org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities.createEncodedValue(ProtobufUtilities.java:64) at org.apache.geode.internal.protocol.protobuf.v1.operations.GetRequestOperationHandler.process(GetRequestOperationHandler.java:66) at org.apache.geode.internal.protocol.protobuf.v1.operations.GetRequestOperationHandler.process(GetRequestOperationHandler.java:40) at org.apache.geode.internal.protocol.protobuf.v1.ProtobufOpsProcessor.processOperation(ProtobufOpsProcessor.java:83) {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)