[ 
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)

Reply via email to