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

Hudson commented on TAJO-748:
-----------------------------

SUCCESS: Integrated in Tajo-0.8.0-build #82 (See 
[https://builds.apache.org/job/Tajo-0.8.0-build/82/])
TAJO-748: Shuffle output numbers of join may be inconsistent. (jaehwa) (jhjung: 
rev 0426e5e42fc9bd1ac420af224101745f6e1ae0a8)
* CHANGES.txt
* tajo-core/src/test/resources/queries/TestNetTypes/testJoin.sql
* 
tajo-core/src/test/resources/results/TestJoinBroadcast/testBroadcastSubquery2.result
* tajo-core/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java
* tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinBroadcast.java
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
* tajo-core/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java
* 
tajo-core/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java


> Shuffle output numbers of join may be inconsistent.
> ---------------------------------------------------
>
>                 Key: TAJO-748
>                 URL: https://issues.apache.org/jira/browse/TAJO-748
>             Project: Tajo
>          Issue Type: Bug
>          Components: planner/optimizer
>    Affects Versions: 0.8, 0.9
>            Reporter: Jaehwa Jung
>            Assignee: Jaehwa Jung
>            Priority: Blocker
>             Fix For: 0.8, 0.9
>
>         Attachments: TAJO-748.patch, TAJO-748_2.patch, TAJO-748_3.patch, 
> TAJO-748_4.patch, TAJO-748_5.patch
>
>
> I found that inline view doesn't run expected at multiple join as follows:
> *Environment*
> * DataSet: TPC-DS 
> * tajo.dist-query.join.broadcast.auto : false
> *Case: 1*
> {code:xml}
> SELECT COUNT(*)
> FROM (
>   SELECT cs.cs_item_sk as cs_item_sk,
>   cs.cs_ext_discount_amt as cs_ext_discount_amt
>   FROM catalog_sales cs
>   JOIN date_dim d ON (d.d_date_sk = cs.cs_sold_date_sk)
>   WHERE d.d_date between '2000-01-27' and '2000-04-27'
> ) cs1
> JOIN item i ON (i.i_item_sk = cs1.cs_item_sk);
> {code}
> - actual result: 4163848
> - expected result: 4163848
> *Case: 2*
> {code:xml}
> select count(*)
> from item i
> JOIN (SELECT cs2.cs_item_sk as cs_item_sk,
>                           1.3 * avg(cs_ext_discount_amt) as 
> avg_cs_ext_discount_amt
>            FROM (SELECT cs.cs_item_sk as cs_item_sk,
>                                         cs.cs_ext_discount_amt as 
> cs_ext_discount_amt
>                         FROM catalog_sales cs
>                         JOIN date_dim d ON (d.d_date_sk = cs.cs_sold_date_sk)
>                         WHERE d.d_date between '2000-01-27' and '2000-04-27') 
> cs2
>                         GROUP BY cs2.cs_item_sk) tmp1
> ON (i.i_item_sk = tmp1.cs_item_sk);
> {code}
> - actual result: 102000
> - expected result: 102000
> *Case: 3*
> {code:xml}
> SELECT COUNT(*)
> FROM (SELECT cs.cs_item_sk as cs_item_sk,
>                              cs.cs_ext_discount_amt as cs_ext_discount_amt
>              FROM catalog_sales cs
>              JOIN date_dim d ON (d.d_date_sk = cs.cs_sold_date_sk)
>              WHERE d.d_date between '2000-01-27' and '2000-04-27') cs1
> JOIN item i ON (i.i_item_sk = cs1.cs_item_sk)
> JOIN (SELECT cs2.cs_item_sk as cs_item_sk,
>                           1.3 * avg(cs_ext_discount_amt) as 
> avg_cs_ext_discount_amt
>            FROM (SELECT cs.cs_item_sk as cs_item_sk,
>                                         cs.cs_ext_discount_amt as 
> cs_ext_discount_amt
>                         FROM catalog_sales cs
>                         JOIN date_dim d ON (d.d_date_sk = cs.cs_sold_date_sk)
>                         WHERE d.d_date between '2000-01-27' and '2000-04-27') 
> cs2
>                         GROUP BY cs2.cs_item_sk) tmp1
> ON (i.i_item_sk = tmp1.cs_item_sk)
> WHERE i.i_manufact_id = 436;
> {code}
> - actual result: 80
> - expected result: 4586
> *Case: 4*
> {code:xml}
> SELECT COUNT(*)
> FROM (SELECT cs.cs_item_sk as cs_item_sk,
>                              cs.cs_ext_discount_amt as cs_ext_discount_amt
>              FROM catalog_sales cs
>              JOIN date_dim d ON (d.d_date_sk = cs.cs_sold_date_sk)
>              WHERE d.d_date between '2000-01-27' and '2000-04-27') cs1
> JOIN item i ON (i.i_item_sk = cs1.cs_item_sk)
> JOIN (SELECT cs2.cs_item_sk as cs_item_sk,
>                           1.3 * avg(cs_ext_discount_amt) as 
> avg_cs_ext_discount_amt
>            FROM (SELECT cs.cs_item_sk as cs_item_sk,
>                                         cs.cs_ext_discount_amt as 
> cs_ext_discount_amt
>                         FROM catalog_sales cs
>                         JOIN date_dim d ON (d.d_date_sk = cs.cs_sold_date_sk)
>                         WHERE d.d_date between '2000-01-27' and '2000-04-27') 
> cs2
>                         GROUP BY cs2.cs_item_sk) tmp1
> ON (i.i_item_sk = tmp1.cs_item_sk)
> {code}
> - actual result: 71147
> - expected result: 4163848
> For reference, I made activated result using hive.



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

Reply via email to