Skip to content

Commit

Permalink
Fix failures in JPPD tests (#526)
Browse files Browse the repository at this point in the history
* Fix plan verification failures due to Semi Join

- In case of nested join scenario, multiple RTFs arrives at scan on probe side. This resulted in plan showing multiple RuntimeFilters. This has been fixed and hence changes are required.

- Semi Join is enable by default and the plan has to factor in the changes.

- Disable Semi Join where Agg is required before Join.

* Disable failing queries with a reference to the bug
  • Loading branch information
abhidotravi authored and Agirish committed Dec 28, 2018
1 parent d1b32d9 commit c10777b
Show file tree
Hide file tree
Showing 11 changed files with 21 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = false;
set `planner.enable_semijoin` = false;

select
l.l_shipdate,
Expand All @@ -23,4 +24,5 @@ limit 10;

reset `exec.hashjoin.enable.runtime_filter`;
reset `exec.hashjoin.runtime_filter.max.waiting.time`;
reset `planner.enable_broadcast_join`;
reset `planner.enable_broadcast_join`;
reset `planner.enable_semijoin`;
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = false;
set `planner.enable_semijoin` = false;

explain plan for
select
Expand All @@ -24,4 +25,5 @@ limit 10;

reset `exec.hashjoin.enable.runtime_filter`;
reset `exec.hashjoin.runtime_filter.max.waiting.time`;
reset `planner.enable_broadcast_join`;
reset `planner.enable_broadcast_join`;
reset `planner.enable_semijoin`;
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- Enable when DRILL-6914 is fixed
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
04-03\s+SelectionVectorRemover
04-04\s+Filter.*
04-05\s+RuntimeFilter
04-06\s+SelectionVectorRemover
04-07\s+RuntimeFilter
04-08\s+Scan.*lineitem.*columns=\[`l_suppkey`, `l_orderkey`, `l_shipdate`, `l_extendedprice`, `l_discount`\]\]\]\)
04-06\s+Scan.*lineitem.*columns=\[`l_suppkey`, `l_orderkey`, `l_shipdate`, `l_extendedprice`, `l_discount`\]\]\]\)
04-02\s+BroadcastExchange
06-01\s+HashJoin.*
06-03\s+Scan.*supplier.*columns=\[`s_suppkey`, `s_nationkey`\]\]\]\)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- Enable when DRILL-6914 is fixed
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@
04-02\s+SelectionVectorRemover
04-03\s+RuntimeFilter
04-04\s+Scan.*lineitem.*columns=\[`l_shipdate`\]\]\]\)
01-04\s+HashAgg.*
01-06\s+Project.*
01-08\s+HashToRandomExchange.*
01-04\s+Project.*
01-06\s+HashToRandomExchange.*
03-01\s+UnorderedMuxExchange
05-01\s+Project.*
05-02\s+HashAgg.*
05-03\s+Project\(EXPR\$0=\[CAST\(\$0\)\:\DATE\]\)
05-04\s+Scan.*lineitem.*columns=\[`l_shipdate`\]\]\]\)
05-02\s+Project\(EXPR\$0=\[CAST\(\$0\)\:\DATE\]\)
05-03\s+Scan.*lineitem.*columns=\[`l_shipdate`\]\]\]\)
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- Enable when DRILL-6914 is fixed
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@
04-02\s+SelectionVectorRemover
04-03\s+RuntimeFilter
04-04\s+Scan.*lineitem.*columns=\[`l_discount`\]\]\]\)
01-04\s+HashAgg.*
01-06\s+Project.*
01-08\s+HashToRandomExchange.*
01-04\s+Project.*
01-06\s+HashToRandomExchange.*
03-01\s+UnorderedMuxExchange
05-01\s+Project.*
05-02\s+HashAgg.*
05-03\s+Project\(EXPR\$0=\[CAST\(\$0\)\:DOUBLE\]\)
05-04\s+Scan.*lineitem.*columns=\[`l_discount`\]\]\]\)
05-02\s+Project\(EXPR\$0=\[CAST\(\$0\)\:DOUBLE\]\)
05-03\s+Scan.*lineitem.*columns=\[`l_discount`\]\]\]\)
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- Enable when DRILL-6914 is fixed
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
03-06\s+HashJoin.*
03-08\s+SelectionVectorRemover
03-09\s+RuntimeFilter
03-10\s+SelectionVectorRemover
03-11\s+RuntimeFilter
03-12\s+Scan.*partsupp.*columns=\[`ps_suppkey`, `ps_partkey`\]\]\]\)
03-10\s+Scan.*partsupp.*columns=\[`ps_suppkey`, `ps_partkey`\]\]\]\)
03-07\s+BroadcastExchange
04-01\s+HashJoin.*
04-03\s+SelectionVectorRemover
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- Enable when DRILL-6792 is fixed
set `exec.hashjoin.enable.runtime_filter` = true;
set `exec.hashjoin.runtime_filter.max.waiting.time` = 10000;
set `planner.enable_broadcast_join` = true;
Expand Down

0 comments on commit c10777b

Please sign in to comment.