[
https://issues.apache.org/jira/browse/CALCITE-671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14485601#comment-14485601
]
Nick Dimiduk commented on CALCITE-671:
--------------------------------------
Thanks for picking this up [~julianhyde]. With this patch, I get the following
exception from my Phoenix test. The underlying error looks similar to what I
was seeing in CALCITE-660.
{noformat}
2015-04-08 10:10:08,470 WARN [qtp79389212-558] server.HttpChannel
(HttpChannel.java:handle(395)) - /
java.lang.RuntimeException:
com.fasterxml.jackson.databind.JsonMappingException: Instantiation of [simple
type, class org.apache.calcite.avatica.remote.TypedValue] value failed: cannot
convert 2015-04-08 (class java.lang.String) to JAVA_SQL_DATE (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 2015-04-08 (class java.lang.String) to JAVA_SQL_DATE
(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 2015-04-08 (class
java.lang.String) to JAVA_SQL_DATE
at
org.apache.calcite.avatica.remote.TypedValue.deserialize(TypedValue.java:85)
at
org.apache.calcite.avatica.remote.TypedValue.create(TypedValue.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
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)