Abhishek Girish created DRILL-3307:
--------------------------------------

             Summary: Query with window function runs out of memory
                 Key: DRILL-3307
                 URL: https://issues.apache.org/jira/browse/DRILL-3307
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
    Affects Versions: 1.1.0
         Environment: Data set: TPC-DS SF 100 Parquet
Number of Nodes: 4
            Reporter: Abhishek Girish
            Assignee: Deneche A. Hakim
         Attachments: drillbit.log.txt

Query with window function runs out of memory:
{code:sql}
 SELECT SUM(ss.ss_net_paid_inc_tax) OVER (PARTITION BY ss.ss_store_sk) AS 
TotalSpend FROM store_sales ss ORDER BY 1 LIMIT 20;
java.lang.RuntimeException: java.sql.SQLException: RESOURCE ERROR: One or more 
nodes ran out of memory while executing the query.

Fragment 3:0

[Error Id: 9af19064-9175-46a4-b557-714d1c77cd76 on abhi6.qa.lab:31010]
        at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73)
        at 
sqlline.TableOutputFormat$ResizingRowsProvider.next(TableOutputFormat.java:85)
        at sqlline.TableOutputFormat.print(TableOutputFormat.java:116)
        at sqlline.SqlLine.print(SqlLine.java:1583)
        at sqlline.Commands.execute(Commands.java:852)
        at sqlline.Commands.sql(Commands.java:751)
        at sqlline.SqlLine.dispatch(SqlLine.java:738)
        at sqlline.SqlLine.begin(SqlLine.java:612)
        at sqlline.SqlLine.start(SqlLine.java:366)
        at sqlline.SqlLine.main(SqlLine.java:259)
{code}

Plan:
{code}
00-00    Screen : rowType = RecordType(ANY TotalSpend): rowcount = 
2.87997024E8, cumulative cost = {4.3487550824E9 rows, 5.7539970079068695E10 
cpu, 0.0 io, 7.077814861824E12 network, 4.607952384E9 memory}, id = 142297
00-01      SelectionVectorRemover : rowType = RecordType(ANY TotalSpend): 
rowcount = 2.87997024E8, cumulative cost = {4.31995538E9 rows, 
5.751117037666869E10 cpu, 0.0 io, 7.077814861824E12 network, 4.607952384E9 
memory}, id = 142296
00-02        Limit(fetch=[20]) : rowType = RecordType(ANY TotalSpend): rowcount 
= 2.87997024E8, cumulative cost = {4.031958356E9 rows, 5.722317335266869E10 
cpu, 0.0 io, 7.077814861824E12 network, 4.607952384E9 memory}, id = 142295
00-03          SingleMergeExchange(sort0=[0 ASC]) : rowType = RecordType(ANY 
TotalSpend): rowcount = 2.87997024E8, cumulative cost = {4.031958336E9 rows, 
5.722317327266869E10 cpu, 0.0 io, 7.077814861824E12 network, 4.607952384E9 
memory}, id = 142294
01-01            SelectionVectorRemover : rowType = RecordType(ANY TotalSpend): 
rowcount = 2.87997024E8, cumulative cost = {3.743961312E9 rows, 
5.261522088866869E10 cpu, 0.0 io, 5.89817905152E12 network, 4.607952384E9 
memory}, id = 142293
01-02              TopN(limit=[20]) : rowType = RecordType(ANY TotalSpend): 
rowcount = 2.87997024E8, cumulative cost = {3.455964288E9 rows, 
5.232722386466869E10 cpu, 0.0 io, 5.89817905152E12 network, 4.607952384E9 
memory}, id = 142292
01-03                Project(TotalSpend=[$0]) : rowType = RecordType(ANY 
TotalSpend): rowcount = 2.87997024E8, cumulative cost = {3.167967264E9 rows, 
4.734841414759049E10 cpu, 0.0 io, 5.89817905152E12 network, 4.607952384E9 
memory}, id = 142291
01-04                  HashToRandomExchange(dist0=[[$0]]) : rowType = 
RecordType(ANY TotalSpend, ANY E_X_P_R_H_A_S_H_F_I_E_L_D): rowcount = 
2.87997024E8, cumulative cost = {3.167967264E9 rows, 4.734841414759049E10 cpu, 
0.0 io, 5.89817905152E12 network, 4.607952384E9 memory}, id = 142290
02-01                    UnorderedMuxExchange : rowType = RecordType(ANY 
TotalSpend, ANY E_X_P_R_H_A_S_H_F_I_E_L_D): rowcount = 2.87997024E8, cumulative 
cost = {2.87997024E9 rows, 4.274046176359049E10 cpu, 0.0 io, 3.538907430912E12 
network, 4.607952384E9 memory}, id = 142289
03-01                      Project(TotalSpend=[$0], 
E_X_P_R_H_A_S_H_F_I_E_L_D=[castInt(hash64AsDouble($0))]) : rowType = 
RecordType(ANY TotalSpend, ANY E_X_P_R_H_A_S_H_F_I_E_L_D): rowcount = 
2.87997024E8, cumulative cost = {2.591973216E9 rows, 4.245246473959049E10 cpu, 
0.0 io, 3.538907430912E12 network, 4.607952384E9 memory}, id = 142288
03-02                        Project(TotalSpend=[CASE(>($2, 0), CAST($3):ANY, 
null)]) : rowType = RecordType(ANY TotalSpend): rowcount = 2.87997024E8, 
cumulative cost = {2.303976192E9 rows, 4.130047664359049E10 cpu, 0.0 io, 
3.538907430912E12 network, 4.607952384E9 memory}, id = 142287
03-03                          Window(window#0=[window(partition {1} order by 
[] range between UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING aggs [COUNT($0), 
$SUM0($0)])]) : rowType = RecordType(ANY ss_net_paid_inc_tax, ANY ss_store_sk, 
BIGINT w0$o0, ANY w0$o1): rowcount = 2.87997024E8, cumulative cost = 
{2.015979168E9 rows, 4.014848854759049E10 cpu, 0.0 io, 3.538907430912E12 
network, 4.607952384E9 memory}, id = 142286
03-04                            SelectionVectorRemover : rowType = 
RecordType(ANY ss_net_paid_inc_tax, ANY ss_store_sk): rowcount = 2.87997024E8, 
cumulative cost = {1.727982144E9 rows, 3.928449747559049E10 cpu, 0.0 io, 
3.538907430912E12 network, 4.607952384E9 memory}, id = 142285
03-05                              Sort(sort0=[$1], dir0=[ASC]) : rowType = 
RecordType(ANY ss_net_paid_inc_tax, ANY ss_store_sk): rowcount = 2.87997024E8, 
cumulative cost = {1.43998512E9 rows, 3.899650045159049E10 cpu, 0.0 io, 
3.538907430912E12 network, 4.607952384E9 memory}, id = 142284
03-06                                Project(ss_net_paid_inc_tax=[$0], 
ss_store_sk=[$1]) : rowType = RecordType(ANY ss_net_paid_inc_tax, ANY 
ss_store_sk): rowcount = 2.87997024E8, cumulative cost = {1.151988096E9 rows, 
6.623931552E9 cpu, 0.0 io, 3.538907430912E12 network, 0.0 memory}, id = 142283
03-07                                  HashToRandomExchange(dist0=[[$1]]) : 
rowType = RecordType(ANY ss_net_paid_inc_tax, ANY ss_store_sk, ANY 
E_X_P_R_H_A_S_H_F_I_E_L_D): rowcount = 2.87997024E8, cumulative cost = 
{1.151988096E9 rows, 6.623931552E9 cpu, 0.0 io, 3.538907430912E12 network, 0.0 
memory}, id = 142282
04-01                                    UnorderedMuxExchange : rowType = 
RecordType(ANY ss_net_paid_inc_tax, ANY ss_store_sk, ANY 
E_X_P_R_H_A_S_H_F_I_E_L_D): rowcount = 2.87997024E8, cumulative cost = 
{8.63991072E8 rows, 2.015979168E9 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 
142281
05-01                                      Project(ss_net_paid_inc_tax=[$0], 
ss_store_sk=[$1], E_X_P_R_H_A_S_H_F_I_E_L_D=[castInt(hash64AsDouble($1))]) : 
rowType = RecordType(ANY ss_net_paid_inc_tax, ANY ss_store_sk, ANY 
E_X_P_R_H_A_S_H_F_I_E_L_D): rowcount = 2.87997024E8, cumulative cost = 
{5.75994048E8 rows, 1.727982144E9 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 
142280
05-02                                        Scan(groupscan=[ParquetGroupScan 
[entries=[ReadEntryWithPath 
[path=maprfs:///drill/testdata/tpcds_sf100/parquet/store_sales]], 
selectionRoot=/drill/testdata/tpcds_sf100/parquet/store_sales, numFiles=1, 
columns=[`ss_net_paid_inc_tax`, `ss_store_sk`]]]) : rowType = RecordType(ANY 
ss_net_paid_inc_tax, ANY ss_store_sk): rowcount = 2.87997024E8, cumulative cost 
= {2.87997024E8 rows, 5.75994048E8 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 
142279
{code}

Log attached. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to