[
https://issues.apache.org/jira/browse/DRILL-5269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15871904#comment-15871904
]
Anas commented on DRILL-5269:
-----------------------------
Thanks [~sudheeshkatkam]
I had a very complex query. I minimized the query to the following one
{code}
SELECT `t1`.`one` `one`
FROM
(
SELECT 1 `one` FROM demo.HR.tc_sm
INNER JOIN
(SELECT 314 `userid` FROM demo.HR.tc_sm ) `t0`
ON ( `tc_sm`.`userid` IS NOT DISTINCT FROM `t0`.`userid`)
GROUP BY `one`
) `t1`
INNER JOIN
(SELECT count(1) `__measure__10` FROM demo.HR.tc_sm HAVING (count(1) > 0))
`t5`
ON true
{code}
I have updated the issue with the message returning from the minimized query.
> SYSTEM ERROR: JsonMappingException: No suitable constructor found for type
> [simple type, class org.apache.drill.exec.store.direct.DirectSubScan]
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DRILL-5269
> URL: https://issues.apache.org/jira/browse/DRILL-5269
> Project: Apache Drill
> Issue Type: Bug
> Affects Versions: 1.9.0
> Reporter: Anas
> Priority: Critical
>
> I am a query that has nested joins. The query fails with the following
> exception.
> {code}
> SYSTEM ERROR: JsonMappingException: No suitable constructor found for type
> [simple type, class org.apache.drill.exec.store.direct.DirectSubScan]: can
> not instantiate from JSON object (missing default constructor or creator, or
> perhaps need to add/enable type information?)
> at [Source: {
> "pop" : "broadcast-sender",
> "@id" : 0,
> "receiver-major-fragment" : 1,
> "child" : {
> "pop" : "selection-vector-remover",
> "@id" : 1,
> "child" : {
> "pop" : "filter",
> "@id" : 2,
> "child" : {
> "pop" : "project",
> "@id" : 3,
> "exprs" : [ {
> "ref" : "`__measure__10`",
> "expr" : "`count`"
> } ],
> "child" : {
> "pop" : "DirectSubScan",
> "@id" : 4,
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "reader" : [ {
> "count" : 633
> } ],
> "cost" : 0.0
> },
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 20.0
> },
> "expr" : "greater_than(`__measure__10`, 0) ",
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 10.0
> },
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 10.0
> },
> "destinations" : [ {
> "minorFragmentId" : 0,
> "endpoint" : "Cg0xOTIuMTY4LjAuMTAwEKLyARij8gEgpPIB"
> }, {
> "minorFragmentId" : 1,
> "endpoint" : "Cg0xOTIuMTY4LjAuMTAwEKLyARij8gEgpPIB"
> } ],
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 10.0
> }; line: 20, column: 11] (through reference chain:
> org.apache.drill.exec.physical.config.BroadcastSender["child"]->org.apache.drill.exec.physical.config.SelectionVectorRemover["child"]->org.apache.drill.exec.physical.config.Filter["child"]->org.apache.drill.exec.physical.config.Project["child"])
> Fragment 3:0
> [Error Id: 9fb4ef4a-f118-4625-94f5-56c96dc7bdb4 on 192.168.0.100:31010]
> (com.fasterxml.jackson.databind.JsonMappingException) No suitable
> constructor found for type [simple type, class
> org.apache.drill.exec.store.direct.DirectSubScan]: can not instantiate from
> JSON object (missing default constructor or creator, or perhaps need to
> add/enable type information?)
> at [Source: {
> "pop" : "broadcast-sender",
> "@id" : 0,
> "receiver-major-fragment" : 1,
> "child" : {
> "pop" : "selection-vector-remover",
> "@id" : 1,
> "child" : {
> "pop" : "filter",
> "@id" : 2,
> "child" : {
> "pop" : "project",
> "@id" : 3,
> "exprs" : [ {
> "ref" : "`__measure__10`",
> "expr" : "`count`"
> } ],
> "child" : {
> "pop" : "DirectSubScan",
> "@id" : 4,
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "reader" : [ {
> "count" : 633
> } ],
> "cost" : 0.0
> },
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 20.0
> },
> "expr" : "greater_than(`__measure__10`, 0) ",
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 10.0
> },
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 10.0
> },
> "destinations" : [ {
> "minorFragmentId" : 0,
> "endpoint" : "Cg0xOTIuMTY4LjAuMTAwEKLyARij8gEgpPIB"
> }, {
> "minorFragmentId" : 1,
> "endpoint" : "Cg0xOTIuMTY4LjAuMTAwEKLyARij8gEgpPIB"
> } ],
> "initialAllocation" : 1000000,
> "maxAllocation" : 10000000000,
> "cost" : 10.0
> }; line: 20, column: 11] (through reference chain:
> org.apache.drill.exec.physical.config.BroadcastSender["child"]->org.apache.drill.exec.physical.config.SelectionVectorRemover["child"]->org.apache.drill.exec.physical.config.Filter["child"]->org.apache.drill.exec.physical.config.Project["child"])
> com.fasterxml.jackson.databind.JsonMappingException.from():216
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault():1130
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject():298
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId():1094
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther():166
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize():135
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId():120
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject():91
>
> com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType():142
>
> com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize():488
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping():465
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased():380
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault():1123
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject():298
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId():1094
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther():166
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize():135
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId():120
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject():91
>
> com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType():142
>
> com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize():488
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping():465
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased():380
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault():1123
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject():298
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId():1094
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther():166
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize():135
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId():120
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject():91
>
> com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType():142
>
> com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize():488
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping():465
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased():380
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault():1123
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject():298
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId():1094
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther():166
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize():135
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId():120
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject():91
>
> com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType():142
>
> com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize():488
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping():465
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased():380
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault():1123
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject():298
>
> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId():1094
>
> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther():166
> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize():135
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId():120
>
> com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject():91
>
> com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType():142
>
> com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize():42
> com.fasterxml.jackson.databind.ObjectReader._bindAndClose():1575
> com.fasterxml.jackson.databind.ObjectReader.readValue():1200
> org.apache.drill.exec.planner.PhysicalPlanReader.readFragmentOperator():94
> org.apache.drill.exec.work.fragment.FragmentExecutor.run():203
> org.apache.drill.common.SelfCleaningRunnable.run():38
> java.util.concurrent.ThreadPoolExecutor.runWorker():1142
> java.util.concurrent.ThreadPoolExecutor$Worker.run():617
> java.lang.Thread.run():745
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)