Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 067B1200D01 for ; Fri, 8 Sep 2017 00:25:12 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 0543C1609D9; Thu, 7 Sep 2017 22:25:12 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id F0C9F1609BD for ; Fri, 8 Sep 2017 00:25:10 +0200 (CEST) Received: (qmail 47406 invoked by uid 500); 7 Sep 2017 22:25:09 -0000 Mailing-List: contact issues-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list issues@drill.apache.org Received: (qmail 47392 invoked by uid 99); 7 Sep 2017 22:25:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Sep 2017 22:25:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id E5EDAC6501 for ; Thu, 7 Sep 2017 22:25:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.201 X-Spam-Level: X-Spam-Status: No, score=-99.201 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id YfkVWgMAw7MD for ; Thu, 7 Sep 2017 22:25:03 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 53A765F666 for ; Thu, 7 Sep 2017 22:25:03 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 81EA1E010F for ; Thu, 7 Sep 2017 22:25:02 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 5FF8A24153 for ; Thu, 7 Sep 2017 22:25:00 +0000 (UTC) Date: Thu, 7 Sep 2017 22:25:00 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: issues@drill.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (DRILL-5269) SYSTEM ERROR: JsonMappingException: No suitable constructor found for type [simple type, class org.apache.drill.exec.store.direct.DirectSubScan] MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 07 Sep 2017 22:25:12 -0000 [ https://issues.apache.org/jira/browse/DRILL-5269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16157773#comment-16157773 ] ASF GitHub Bot commented on DRILL-5269: --------------------------------------- Github user vrozov commented on a diff in the pull request: https://github.com/apache/drill/pull/926#discussion_r137658224 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/RecordReader.java --- @@ -26,6 +26,9 @@ import org.apache.drill.exec.record.MaterializedField; import org.apache.drill.exec.vector.ValueVector; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.WRAPPER_OBJECT, property="type") --- End diff -- AFAIK, it will not impact implementations of the `RecordReader` interface. The annotation affects Jackson type inference when a physical operator has a reference to a `RecordReader` and Jackson needs to construct a concrete implementation of the `RecordReader`. Such information needs to be passed in any case and the annotation specifies JSON syntax used to pass the type information. To avoid the concern I'll move the annotation to the field declaration in `DirectSubScan`. The effect of such move is that it will be necessary to annotate `RecordReader` in every operator that may be passed as part of a fragment to a remote node for execution. > 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 > Assignee: Vlad Rozov > Priority: Critical > Attachments: tc_sm_parquet.tar.gz > > > 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.4.14#64029)