You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/12/28 22:07:00 UTC

[jira] [Commented] (GEODE-4168) Can't get json object stored as PDX using the new protocol

    [ https://issues.apache.org/jira/browse/GEODE-4168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16305774#comment-16305774 ] 

ASF GitHub Bot commented on GEODE-4168:
---------------------------------------

bschuchardt opened a new pull request #1209: GEODE-4168 Can't get json object stored as PDX using the new protocol
URL: https://github.com/apache/geode/pull/1209
 
 
   & GEODE-4116 Can't get PDX objects using the new protocol
   
   Added a distributed test to ensure end-to-end handling of JSON documents
   is functioning correctly.  For GEODE-4168 I changed the class-check from
   equals() to isAssignableFrom().  For GEODE-4116 I modified the Get and
   GetAll operation handlers to inhibit deserialization of PdxInstances
   when reading values from the cache.  The test for 4116 ensures that
   the value is in serialized form by putting it into a distributed Region
   in another JVM.
   
   There are unrelated javadoc changes in this commit for DM.java and
   a couple of classes in the protobuf Driver module.  I also added
   constraints to the Regions in the Driver's unit test to get rid of
   compilation warnings.
   
   @galen-pivotal @PivotalSarge @WireBaron @upthewaterspout 
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
   
   - [x] Has your PR been rebased against the latest commit within the target branch (typically `develop`)?
   
   - [x] Is your initial contribution a single, squashed commit?
   
   - [x] Does `gradlew build` run cleanly?
   
   - [x] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build issues and
   submit an update to your PR as soon as possible. If you need help, please send an
   email to dev@geode.apache.org.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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