Dan Smith created GEODE-4168:
--------------------------------
Summary: Can't get json object stored as PDX using the new protocol
Key: GEODE-4168
URL: https://issues.apache.org/jira/browse/GEODE-4168
Project: Geode
Issue Type: Bug
Components: client/server
Reporter: Dan Smith
When trying to do a get for an json object using the new client protocol, users
now receive this exception
{noformat}
[error 2017/12/25 12:05:12.985 PST server1 <ServerConnection on port 40404
Thread 15> tid=0x83] Received Get request with unsupported encoding: {}
org.apache.geode.internal.protocol.serialization.exception.EncodingException:
No protobuf encoding for type org.apache.geode.pdx.internal.PdxInstanceImpl
at
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService.encode(ProtobufSerializationService.java:86)
at
org.apache.geode.internal.protocol.protobuf.v1.operations.GetRequestOperationHandler.process(GetRequestOperationHandler.java:63)
at
org.apache.geode.internal.protocol.protobuf.v1.operations.GetRequestOperationHandler.process(GetRequestOperationHandler.java:38)
at
org.apache.geode.internal.protocol.protobuf.v1.ProtobufOpsProcessor.processOperation(ProtobufOpsProcessor.java:82)
at
org.apache.geode.internal.protocol.protobuf.v1.ProtobufOpsProcessor.process(ProtobufOpsProcessor.java:62)
at
org.apache.geode.internal.protocol.protobuf.v1.ProtobufStreamProcessor.processOneMessage(ProtobufStreamProcessor.java:79)
at
org.apache.geode.internal.protocol.protobuf.v1.ProtobufStreamProcessor.receiveMessage(ProtobufStreamProcessor.java:55)
at
org.apache.geode.internal.protocol.protobuf.v1.ProtobufCachePipeline.processMessage(ProtobufCachePipeline.java:53)
at
org.apache.geode.internal.cache.tier.sockets.GenericProtocolServerConnection.doOneMessage(GenericProtocolServerConnection.java:70)
at
org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1179)
{noformat}
This looks like a bug introduced by e24e038e69244cc655779634945896411e678080.
ProtobufEncodingTypes.valueOf is trying to do a Class.equals between
PdxInstance and PdxIntanceImpl.
This is somewhat related to GEODE-4116 in that it's another failure to get a
pdx serialized value, but the underlying cause is different in this case.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)