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

Sudheesh Katkam commented on DRILL-3257:
----------------------------------------

I reproduced with the following query (does not assume any view)
{code}
WITH year_total 
     AS (SELECT c.c_customer_id    customer_id, 
                c.c_first_name     customer_first_name, 
                c.c_last_name      customer_last_name, 
                d.d_year           AS year1, 
                Sum(s.ss_net_paid) year_total, 
                's'              sale_type 
         FROM   customer c, 
                store_sales s, 
                date_dim d
         WHERE  c.c_customer_sk = s.ss_customer_sk 
                AND s.ss_sold_date_sk = d.d_date_sk 
                AND d.d_year IN ( 1999, 1999 + 1 ) 
         GROUP  BY c.c_customer_id,
                   c.c_first_name,
                   c.c_last_name,
                   d.d_year 
         UNION ALL 
         SELECT c.c_customer_id    customer_id, 
                c.c_first_name     customer_first_name, 
                c.c_last_name      customer_last_name, 
                d.d_year           AS year1, 
                Sum(w.ws_net_paid) year_total, 
                'w'              sale_type 
         FROM   customer c, 
                web_sales w, 
                date_dim d
         WHERE  c.c_customer_sk = w.ws_bill_customer_sk 
                AND w.ws_sold_date_sk = d.d_date_sk 
                AND d.d_year IN ( 1999, 1999 + 1 ) 
         GROUP  BY c.c_customer_id,
                   c.c_first_name,
                   c.c_last_name,
                   d.d_year) 
SELECT t_s_secyear.customer_id, 
               t_s_secyear.customer_first_name, 
               t_s_secyear.customer_last_name 
FROM   year_total t_s_firstyear, 
       year_total t_s_secyear, 
       year_total t_w_firstyear, 
       year_total t_w_secyear 
WHERE  t_s_secyear.customer_id = t_s_firstyear.customer_id 
       AND t_s_firstyear.customer_id = t_w_secyear.customer_id 
       AND t_s_firstyear.customer_id = t_w_firstyear.customer_id 
       AND t_s_firstyear.sale_type = 's' 
       AND t_w_firstyear.sale_type = 'w' 
       AND t_s_secyear.sale_type = 's' 
       AND t_w_secyear.sale_type = 'w' 
       AND t_s_firstyear.year1 = 1999 
       AND t_s_secyear.year1 = 1999 + 1 
       AND t_w_firstyear.year1 = 1999 
       AND t_w_secyear.year1 = 1999 + 1 
       AND t_s_firstyear.year_total > 0 
       AND t_w_firstyear.year_total > 0 
       AND CASE 
             WHEN t_w_firstyear.year_total > 0 THEN t_w_secyear.year_total / 
                                                    t_w_firstyear.year_total 
             ELSE NULL 
           END > CASE 
                   WHEN t_s_firstyear.year_total > 0 THEN 
                   t_s_secyear.year_total / 
                   t_s_firstyear.year_total 
                   ELSE NULL 
                 END 
ORDER  BY 1, 
          2, 
          3
LIMIT 100;
{code}

> TPCDS query 74 results in a StackOverflowError on Scale Factor 1
> ----------------------------------------------------------------
>
>                 Key: DRILL-3257
>                 URL: https://issues.apache.org/jira/browse/DRILL-3257
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>            Reporter: Rahul Challapalli
>            Assignee: Sudheesh Katkam
>             Fix For: 1.2.0
>
>         Attachments: error.log
>
>
> git.commit.id.abbrev=5f26b8b
> Query :
> {code}
> WITH year_total 
>      AS (SELECT c_customer_id    customer_id, 
>                 c_first_name     customer_first_name, 
>                 c_last_name      customer_last_name, 
>                 d_year           AS year1, 
>                 Sum(ss_net_paid) year_total, 
>                 's'              sale_type 
>          FROM   customer, 
>                 store_sales, 
>                 date_dim 
>          WHERE  c_customer_sk = ss_customer_sk 
>                 AND ss_sold_date_sk = d_date_sk 
>                 AND d_year IN ( 1999, 1999 + 1 ) 
>          GROUP  BY c_customer_id, 
>                    c_first_name, 
>                    c_last_name, 
>                    d_year 
>          UNION ALL 
>          SELECT c_customer_id    customer_id, 
>                 c_first_name     customer_first_name, 
>                 c_last_name      customer_last_name, 
>                 d_year           AS year1, 
>                 Sum(ws_net_paid) year_total, 
>                 'w'              sale_type 
>          FROM   customer, 
>                 web_sales, 
>                 date_dim 
>          WHERE  c_customer_sk = ws_bill_customer_sk 
>                 AND ws_sold_date_sk = d_date_sk 
>                 AND d_year IN ( 1999, 1999 + 1 ) 
>          GROUP  BY c_customer_id, 
>                    c_first_name, 
>                    c_last_name, 
>                    d_year) 
> SELECT t_s_secyear.customer_id, 
>                t_s_secyear.customer_first_name, 
>                t_s_secyear.customer_last_name 
> FROM   year_total t_s_firstyear, 
>        year_total t_s_secyear, 
>        year_total t_w_firstyear, 
>        year_total t_w_secyear 
> WHERE  t_s_secyear.customer_id = t_s_firstyear.customer_id 
>        AND t_s_firstyear.customer_id = t_w_secyear.customer_id 
>        AND t_s_firstyear.customer_id = t_w_firstyear.customer_id 
>        AND t_s_firstyear.sale_type = 's' 
>        AND t_w_firstyear.sale_type = 'w' 
>        AND t_s_secyear.sale_type = 's' 
>        AND t_w_secyear.sale_type = 'w' 
>        AND t_s_firstyear.year1 = 1999 
>        AND t_s_secyear.year1 = 1999 + 1 
>        AND t_w_firstyear.year1 = 1999 
>        AND t_w_secyear.year1 = 1999 + 1 
>        AND t_s_firstyear.year_total > 0 
>        AND t_w_firstyear.year_total > 0 
>        AND CASE 
>              WHEN t_w_firstyear.year_total > 0 THEN t_w_secyear.year_total / 
>                                                     t_w_firstyear.year_total 
>              ELSE NULL 
>            END > CASE 
>                    WHEN t_s_firstyear.year_total > 0 THEN 
>                    t_s_secyear.year_total / 
>                    t_s_firstyear.year_total 
>                    ELSE NULL 
>                  END 
> ORDER  BY 1, 
>           2, 
>           3
> LIMIT 100;
> {code}
> The above query never returns. I attached the log file.
> Since the data is 1GB I cannot attach it here. Kindly reach out to me if you 
> want more information.



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

Reply via email to