You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2014/05/23 02:17:01 UTC

[jira] [Commented] (DRILL-820) CannotPlanException with a class of queries

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

Aman Sinha commented on DRILL-820:
----------------------------------

For queries that don't contain a group-by,  it is expected that we won't plan it with HashAggregate because there's nothing to hash on.  So, for testing such queries, don't disable streaming aggregate.   We could probably generate better error message in the future but in general for the shipped product we don't expect users to disable specific aggr types or join types.  So I will mark this as won't fix. 

> CannotPlanException with a class of queries
> -------------------------------------------
>
>                 Key: DRILL-820
>                 URL: https://issues.apache.org/jira/browse/DRILL-820
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>            Reporter: Zhiyong Liu
>
> Datasources: TPCH (10MB), three-way split parquet files
> git.commit.id.abbrev=2fad21d
> git.commit.id=2fad21d5a6ec43bb68fb989e48b6da180f23f73a
> 0: jdbc:drill:schema=dfs.TpcHMulti> alter session set `planner.enable_streamagg` = false;
> +------------+------------+                                                              
> |     ok     |  summary   |                                                              
> +------------+------------+                                                              
> | true       | planner.enable_streamagg updated. |                                       
> +------------+------------+                                                              
> 1 row selected (0.021 seconds)                                                           
> 0: jdbc:drill:schema=dfs.TpcHMulti> select sum(l_extendedprice * l_discount) as revenue  
> . . . . . . . . . . . . . . . . . >    from lineitem                                     
> . . . . . . . . . . . . . . . . . >         where l_shipdate between date '1997-01-01' and date '1998-01-01'                                                                                                      
> . . . . . . . . . . . . . . . . . >                 and l_quantity < 24;                                 
> Error: exception while executing query (state=,code=0)                                                   
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while running query.[error_id: "5dfa0c1e-d938-42a1-b365-f32c3fd6d24f"                                                                        
> endpoint {                                                                                               
>   address: "perfnode104.perf.lab"                                                                        
>   user_port: 31010                                                                                       
>   control_port: 31011                                                                                    
>   data_port: 31012                                                                                       
> }                                                                                                        
> error_type: 0                                                                                            
> message: "Failure while parsing sql. < CannotPlanException:[ Node [rel#34102:Subset#12.PHYSICAL.SINGLETON([]).[]] could not be implemented; planner state:                                                        
> Root: rel#34102:Subset#12.PHYSICAL.SINGLETON([]).[]
> Original rel:                                      
> AbstractConverter(subset=[rel#34102:Subset#12.PHYSICAL.SINGLETON([]).[]], convention=[PHYSICAL], DrillDistributionTraitDef=[SINGLETON([])], sort=[[]]): rowcount = 752.1875, cumulative cost = {inf}, id = 34104  
>   DrillScreenRel(subset=[rel#34101:Subset#12.LOGICAL.ANY([]).[]]): rowcount = 752.1875, cumulative cost = {75.21875 rows, 75.21875 cpu, 0.0 io, 0.0 network}, id = 34100                                          
>     DrillAggregateRel(subset=[rel#34099:Subset#11.LOGICAL.ANY([]).[]], group=[{}], revenue=[SUM($0)]): rowcount = 752.1875, cumulative cost = {752.1875 rows, 0.0 cpu, 0.0 io, 0.0 network}, id = 34098           
>       DrillProjectRel(subset=[rel#34097:Subset#10.LOGICAL.ANY([]).[]], $f0=[*($3, $4)]): rowcount = 7521.875, cumulative cost = {7521.875 rows, 4.0 cpu, 0.0 io, 0.0 network}, id = 34096                         
>         DrillFilterRel(subset=[rel#34095:Subset#9.LOGICAL.ANY([]).[]], condition=[AND(>=($2, 1997-01-01), <=($2, 1998-01-01), <($1, 24))]): rowcount = 7521.875, cumulative cost = {60175.0 rows, 722100.0 cpu, 0.0 io, 0.0 network}, id = 34094                                                                           
>           DrillScanRel(subset=[rel#34093:Subset#8.LOGICAL.ANY([]).[]], table=[[dfs, TpcHMulti, lineitem]]): rowcount = 60175.0, cumulative cost = {60175.0 rows, 300875.0 cpu, 0.0 io, 0.0 network}, id = 34047   
> Sets:
> Set#8, type: (DrillRecordRow[*, l_quantity, l_shipdate, l_extendedprice, l_discount])
>         rel#34093:Subset#8.LOGICAL.ANY([]).[], best=rel#34047, importance=0.5904900000000001
>                 rel#34047:DrillScanRel.LOGICAL.ANY([]).[](table=[dfs, TpcHMulti, lineitem]), rowcount=60175.0, cumulative cost={60175.0 rows, 300875.0 cpu, 0.0 io, 0.0 network}                                  
>                 rel#34114:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34113:Subset#8.PHYSICAL.ANY([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=60175.0, cumulative cost={inf}
>                 rel#34118:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34117:Subset#8.PHYSICAL.RANDOM_DISTRIBUTED([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                                          
>         rel#34113:Subset#8.PHYSICAL.ANY([]).[], best=rel#34116, importance=0.531441                      
>                 rel#34115:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#34093:Subset#8.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                                                        
>                 rel#34119:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#34117:Subset#8.PHYSICAL.RANDOM_DISTRIBUTED([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                                        
>                 rel#34120:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34093:Subset#8.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                          
>                 rel#34121:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34113:Subset#8.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                         
>                 rel#34116:ScanPrel.PHYSICAL.RANDOM_DISTRIBUTED([]).[](groupscan=ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/tpch-multi/lineitem]], selectionRoot=/drill/testdata/tpch-multi/lineitem, columns=[SchemaPath [`l_quantity`], SchemaPath [`l_shipdate`], SchemaPath [`l_extendedprice`], SchemaPath [`l_discount`]]]), rowcount=60175.0, cumulative cost={60175.0 rows, 300875.0 cpu, 0.0 io, 0.0 network}                                                                                         
>         rel#34117:Subset#8.PHYSICAL.RANDOM_DISTRIBUTED([]).[], best=rel#34116, importance=0.4782969000000001                                                                                                      
>                 rel#34120:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34093:Subset#8.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                          
>                 rel#34121:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34113:Subset#8.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=60175.0, cumulative cost={inf}                                                                         
>                 rel#34116:ScanPrel.PHYSICAL.RANDOM_DISTRIBUTED([]).[](groupscan=ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/tpch-multi/lineitem]], selectionRoot=/drill/testdata/tpch-multi/lineitem, columns=[SchemaPath [`l_quantity`], SchemaPath [`l_shipdate`], SchemaPath [`l_extendedprice`], SchemaPath [`l_discount`]]]), rowcount=60175.0, cumulative cost={60175.0 rows, 300875.0 cpu, 0.0 io, 0.0 network}                                                                                         
> Set#9, type: (DrillRecordRow[*, l_quantity, l_shipdate, l_extendedprice, l_discount])                    
>         rel#34095:Subset#9.LOGICAL.ANY([]).[], best=rel#34094, importance=0.6561                         
>                 rel#34094:DrillFilterRel.LOGICAL.ANY([]).[](child=rel#34093:Subset#8.LOGICAL.ANY([]).[],condition=AND(>=($2, 1997-01-01), <=($2, 1998-01-01), <($1, 24))), rowcount=7521.875, cumulative cost={120350.0 rows, 1022975.0 cpu, 0.0 io, 0.0 network}                                                          
>                 rel#34111:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34110:Subset#9.PHYSICAL.ANY([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                                                        
>                 rel#34124:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34123:Subset#9.PHYSICAL.RANDOM_DISTRIBUTED([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                                         
>         rel#34110:Subset#9.PHYSICAL.ANY([]).[], best=rel#34122, importance=0.5904900000000001            
>                 rel#34112:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#34095:Subset#9.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                                                       
>                 rel#34125:AbstractConverter.PHYSICAL.ANY([]).[](child=rel#34123:Subset#9.PHYSICAL.RANDOM_DISTRIBUTED([]).[],convention=PHYSICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                                       
>                 rel#34126:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34095:Subset#9.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                         
>                 rel#34127:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34110:Subset#9.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                        
>                 rel#34122:FilterPrel.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34113:Subset#8.PHYSICAL.ANY([]).[],condition=AND(>=($2, 1997-01-01), <=($2, 1998-01-01), <($1, 24))), rowcount=7521.875, cumulative cost={120350.0 rows, 1022975.0 cpu, 0.0 io, 0.0 network}                                             
>         rel#34123:Subset#9.PHYSICAL.RANDOM_DISTRIBUTED([]).[], best=rel#34122, importance=0.531441       
>                 rel#34126:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34095:Subset#9.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                         
>                 rel#34127:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34110:Subset#9.PHYSICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                        
>                 rel#34122:FilterPrel.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34113:Subset#8.PHYSICAL.ANY([]).[],condition=AND(>=($2, 1997-01-01), <=($2, 1998-01-01), <($1, 24))), rowcount=7521.875, cumulative cost={120350.0 rows, 1022975.0 cpu, 0.0 io, 0.0 network}                                             
> Set#10, type: RecordType(ANY $f0)                                                                        
>         rel#34097:Subset#10.LOGICAL.ANY([]).[], best=rel#34096, importance=0.7290000000000001            
>                 rel#34096:DrillProjectRel.LOGICAL.ANY([]).[](child=rel#34095:Subset#9.LOGICAL.ANY([]).[],$f0=*($3, $4)), rowcount=7521.875, cumulative cost={127871.875 rows, 1022979.0 cpu, 0.0 io, 0.0 network} 
>                 rel#34133:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34132:Subset#10.PHYSICAL.RANDOM_DISTRIBUTED([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                                        
>         rel#34132:Subset#10.PHYSICAL.RANDOM_DISTRIBUTED([]).[], best=rel#34131, importance=0.6561        
>                 rel#34134:AbstractConverter.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34097:Subset#10.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=RANDOM_DISTRIBUTED([]),sort=[]), rowcount=7521.875, cumulative cost={inf}                                                                        
>                 rel#34131:ProjectPrel.PHYSICAL.RANDOM_DISTRIBUTED([]).[](child=rel#34123:Subset#9.PHYSICAL.RANDOM_DISTRIBUTED([]).[],$f0=*($3, $4)), rowcount=7521.875, cumulative cost={127871.875 rows, 1022979.0 cpu, 0.0 io, 0.0 network}
> Set#11, type: RecordType(ANY revenue)
>         rel#34099:Subset#11.LOGICAL.ANY([]).[], best=rel#34098, importance=0.81
>                 rel#34098:DrillAggregateRel.LOGICAL.ANY([]).[](child=rel#34097:Subset#10.LOGICAL.ANY([]).[],group={},revenue=SUM($0)), rowcount=752.1875, cumulative cost={127872.875 rows, 1022980.0 cpu, 0.0 io, 0.0 network}
>                 rel#34106:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34105:Subset#11.PHYSICAL.SINGLETON([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.7976931348623157E308, cumulative cost={inf}
>         rel#34105:Subset#11.PHYSICAL.SINGLETON([]).[], best=null, importance=0.7290000000000001
>                 rel#34107:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#34099:Subset#11.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]), rowcount=752.1875, cumulative cost={inf}
> Set#12, type: RecordType(ANY revenue)
>         rel#34101:Subset#12.LOGICAL.ANY([]).[], best=rel#34100, importance=0.9
>                 rel#34100:DrillScreenRel.LOGICAL.ANY([]).[](child=rel#34099:Subset#11.LOGICAL.ANY([]).[]), rowcount=752.1875, cumulative cost={127948.09375 rows, 1023055.21875 cpu, 0.0 io, 0.0 network}
>                 rel#34103:AbstractConverter.LOGICAL.ANY([]).[](child=rel#34102:Subset#12.PHYSICAL.SINGLETON([]).[],convention=LOGICAL,DrillDistributionTraitDef=ANY([]),sort=[]), rowcount=1.7976931348623157E308, cumulative cost={inf}
>         rel#34102:Subset#12.PHYSICAL.SINGLETON([]).[], best=null, importance=1.0
>                 rel#34104:AbstractConverter.PHYSICAL.SINGLETON([]).[](child=rel#34101:Subset#12.LOGICAL.ANY([]).[],convention=PHYSICAL,DrillDistributionTraitDef=SINGLETON([]),sort=[]), rowcount=752.1875, cumulative cost={inf}
>                 rel#34108:ScreenPrel.PHYSICAL.SINGLETON([]).[](child=rel#34105:Subset#11.PHYSICAL.SINGLETON([]).[]), rowcount=1.7976931348623157E308, cumulative cost={inf}
>  ]"
> ]



--
This message was sent by Atlassian JIRA
(v6.2#6252)