[
https://issues.apache.org/jira/browse/GEODE-4116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16305776#comment-16305776
]
Bruce Schuchardt commented on GEODE-4116:
-----------------------------------------
https://github.com/apache/geode/pull/1209
> 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
> Attachments: pdx_get_failure.diff
>
>
> 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)