[ 
https://issues.apache.org/jira/browse/DRILL-820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacques Nadeau resolved DRILL-820.
----------------------------------

    Resolution: Won't Fix

Straight aggregates need streaming aggregate to complete.

> 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
>            Priority: Minor
>
> 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)

Reply via email to