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

Nick Dimiduk commented on CALCITE-671:
--------------------------------------

With the code on {{44d8860}}, I now get

{noformat}
java.lang.RuntimeException: 
com.fasterxml.jackson.databind.JsonMappingException: Instantiation of [simple 
type, class org.apache.calcite.avatica.remote.TypedValue] value failed: cannot 
convert 0.1 (class java.lang.Double) to OBJECT (through reference chain: 
org.apache.calcite.avatica.remote.TypedValue["value"])
        at 
org.apache.calcite.avatica.remote.JsonHandler.handle(JsonHandler.java:61)
        at 
org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:46)
        at 
org.apache.calcite.avatica.server.AvaticaHandler.handle(AvaticaHandler.java:55)
        at 
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:497)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
        at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Instantiation 
of [simple type, class org.apache.calcite.avatica.remote.TypedValue] value 
failed: cannot convert 0.1 (class java.lang.Double) to OBJECT (through 
reference chain: org.apache.calcite.avatica.remote.TypedValue["value"])
        at 
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapException(StdValueInstantiator.java:434)
        at 
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:243)
        at 
com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:158)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:564)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObjectUsingNonDefault(BeanDeserializer.java:393)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:289)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
        at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:226)
        at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:203)
        at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
        at 
com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:559)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObjectUsingNonDefault(BeanDeserializer.java:393)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:289)
        at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:150)
        at 
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:112)
        at 
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:82)
        at 
com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:107)
        at 
com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:36)
        at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
        at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
        at 
org.apache.calcite.avatica.remote.JsonHandler.decode(JsonHandler.java:51)
        at 
org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:42)
        ... 10 more
Caused by: java.lang.IllegalArgumentException: cannot convert 0.1 (class 
java.lang.Double) to OBJECT
        at 
org.apache.calcite.avatica.remote.TypedValue.deserialize(TypedValue.java:95)
        at 
org.apache.calcite.avatica.remote.TypedValue.create(TypedValue.java:49)
        at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
com.fasterxml.jackson.databind.introspect.AnnotatedMethod.call(AnnotatedMethod.java:120)
        at 
com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:239)
        ... 31 more
{noformat}

> ByteString does not deserialize properly as a FetchRequest parameterValue
> -------------------------------------------------------------------------
>
>                 Key: CALCITE-671
>                 URL: https://issues.apache.org/jira/browse/CALCITE-671
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Nick Dimiduk
>            Assignee: Julian Hyde
>         Attachments: 671.patch
>
>
> I think the reason here is that FetchRequest#parameterValues is declared as a 
> List<Object>, which Jackson interprets as a request to serialize as plain 
> objects (see [Deserializing, other|http://wiki.fasterxml.com/JacksonFAQ]).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to