You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/11/26 23:32:33 UTC

[15/37] hive git commit: HIVE-20775: Factor cost of each SJ reduction when costing a follow-up reduction (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query16.q.out b/ql/src/test/results/clientpositive/perf/tez/query16.q.out
index b09d953..9c9c85f 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query16.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query16.q.out
@@ -73,18 +73,16 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE)
-Map 17 <- Reducer 10 (BROADCAST_EDGE)
+Map 1 <- Reducer 13 (BROADCAST_EDGE)
+Map 15 <- Reducer 10 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
-Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Map 18 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
-Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 17 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 19 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 17 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE)
 Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
@@ -94,22 +92,22 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 9 vectorized
-      File Output Operator [FS_178]
-        Limit [LIM_177] (rows=1 width=240)
+      File Output Operator [FS_168]
+        Limit [LIM_167] (rows=1 width=240)
           Number of rows:100
-          Select Operator [SEL_176] (rows=1 width=240)
+          Select Operator [SEL_166] (rows=1 width=240)
             Output:["_col0","_col1","_col2"]
           <-Reducer 8 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_175]
-              Select Operator [SEL_174] (rows=1 width=240)
+            SHUFFLE [RS_165]
+              Select Operator [SEL_164] (rows=1 width=240)
                 Output:["_col1","_col2","_col3"]
-                Group By Operator [GBY_173] (rows=1 width=232)
+                Group By Operator [GBY_163] (rows=1 width=232)
                   Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"]
                 <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
-                  PARTITION_ONLY_SHUFFLE [RS_172]
-                    Group By Operator [GBY_171] (rows=1 width=232)
+                  PARTITION_ONLY_SHUFFLE [RS_162]
+                    Group By Operator [GBY_161] (rows=1 width=232)
                       Output:["_col0","_col1","_col2"],aggregations:["count(_col0)","sum(_col1)","sum(_col2)"]
-                      Group By Operator [GBY_170] (rows=5150256 width=228)
+                      Group By Operator [GBY_160] (rows=5150256 width=228)
                         Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0
                       <-Reducer 6 [SIMPLE_EDGE]
                         SHUFFLE [RS_74]
@@ -121,20 +119,20 @@ Stage-0
                               Filter Operator [FIL_41] (rows=5150256 width=214)
                                 predicate:_col14 is null
                                 Merge Join Operator [MERGEJOIN_130] (rows=10300512 width=214)
-                                  Conds:RS_38._col4=RS_169._col0(Left Outer),Output:["_col4","_col5","_col6","_col14"]
-                                <-Reducer 19 [ONE_TO_ONE_EDGE] vectorized
-                                  FORWARD [RS_169]
+                                  Conds:RS_38._col4=RS_159._col0(Left Outer),Output:["_col4","_col5","_col6","_col14"]
+                                <-Reducer 17 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_159]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_168] (rows=18238808 width=8)
+                                    Select Operator [SEL_158] (rows=18238808 width=8)
                                       Output:["_col0","_col1"]
-                                      Group By Operator [GBY_167] (rows=18238808 width=4)
+                                      Group By Operator [GBY_157] (rows=18238808 width=4)
                                         Output:["_col0"],keys:KEY._col0
-                                      <-Map 18 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_166]
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_156]
                                           PartitionCols:_col0
-                                          Group By Operator [GBY_165] (rows=28798881 width=4)
+                                          Group By Operator [GBY_155] (rows=28798881 width=4)
                                             Output:["_col0"],keys:cr_order_number
-                                            Filter Operator [FIL_164] (rows=28798881 width=4)
+                                            Filter Operator [FIL_154] (rows=28798881 width=4)
                                               predicate:cr_order_number is not null
                                               TableScan [TS_25] (rows=28798881 width=4)
                                                 default@catalog_returns,cr1,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_order_number"]
@@ -144,18 +142,18 @@ Stage-0
                                     Select Operator [SEL_37] (rows=5150256 width=200)
                                       Output:["_col4","_col5","_col6"]
                                       Merge Join Operator [MERGEJOIN_129] (rows=5150256 width=202)
-                                        Conds:RS_34._col4=RS_163._col0(Left Semi),Output:["_col3","_col4","_col5","_col6","_col14"],residual filter predicates:{(_col3 <> _col14)}
+                                        Conds:RS_34._col4=RS_153._col0(Left Semi),Output:["_col3","_col4","_col5","_col6","_col14"],residual filter predicates:{(_col3 <> _col14)}
                                       <-Reducer 4 [SIMPLE_EDGE]
                                         SHUFFLE [RS_34]
                                           PartitionCols:_col4
                                           Merge Join Operator [MERGEJOIN_128] (rows=5150256 width=200)
-                                            Conds:RS_18._col2=RS_149._col0(Inner),Output:["_col3","_col4","_col5","_col6"]
-                                          <-Map 15 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_149]
+                                            Conds:RS_18._col2=RS_147._col0(Inner),Output:["_col3","_col4","_col5","_col6"]
+                                          <-Map 14 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_147]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_148] (rows=10 width=102)
+                                              Select Operator [SEL_146] (rows=10 width=102)
                                                 Output:["_col0"]
-                                                Filter Operator [FIL_147] (rows=10 width=102)
+                                                Filter Operator [FIL_145] (rows=10 width=102)
                                                   predicate:((cc_county) IN ('Ziebach County', 'Levy County', 'Huron County', 'Franklin Parish', 'Daviess County') and cc_call_center_sk is not null)
                                                   TableScan [TS_9] (rows=60 width=102)
                                                     default@call_center,call_center,Tbl:COMPLETE,Col:COMPLETE,Output:["cc_call_center_sk","cc_county"]
@@ -163,13 +161,13 @@ Stage-0
                                             SHUFFLE [RS_18]
                                               PartitionCols:_col2
                                               Merge Join Operator [MERGEJOIN_127] (rows=30901534 width=230)
-                                                Conds:RS_15._col1=RS_141._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
-                                              <-Map 13 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_141]
+                                                Conds:RS_15._col1=RS_133._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+                                              <-Map 12 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_133]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_140] (rows=784314 width=90)
+                                                  Select Operator [SEL_132] (rows=784314 width=90)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_139] (rows=784314 width=90)
+                                                    Filter Operator [FIL_131] (rows=784314 width=90)
                                                       predicate:((ca_state = 'NY') and ca_address_sk is not null)
                                                       TableScan [TS_6] (rows=40000000 width=90)
                                                         default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"]
@@ -177,72 +175,50 @@ Stage-0
                                                 SHUFFLE [RS_15]
                                                   PartitionCols:_col1
                                                   Merge Join Operator [MERGEJOIN_126] (rows=31519516 width=234)
-                                                    Conds:RS_157._col0=RS_133._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                  <-Map 11 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_133]
-                                                      PartitionCols:_col0
-                                                      Select Operator [SEL_132] (rows=8116 width=98)
-                                                        Output:["_col0"]
-                                                        Filter Operator [FIL_131] (rows=8116 width=98)
-                                                          predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-04-01 00:00:00' AND TIMESTAMP'2001-05-31 00:00:00' and d_date_sk is not null)
-                                                          TableScan [TS_3] (rows=73049 width=98)
-                                                            default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+                                                    Conds:RS_141._col0=RS_144._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
                                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_157]
+                                                    SHUFFLE [RS_141]
                                                       PartitionCols:_col0
-                                                      Select Operator [SEL_156] (rows=283695062 width=243)
+                                                      Select Operator [SEL_140] (rows=283695062 width=243)
                                                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                        Filter Operator [FIL_155] (rows=283695062 width=243)
-                                                          predicate:((cs_call_center_sk BETWEEN DynamicValue(RS_19_call_center_cc_call_center_sk_min) AND DynamicValue(RS_19_call_center_cc_call_center_sk_max) and in_bloom_filter(cs_call_center_sk, DynamicValue(RS_19_call_center_cc_call_center_sk_bloom_filter))) and (cs_ship_addr_sk BETWEEN DynamicValue(RS_16_customer_address_ca_address_sk_min) AND DynamicValue(RS_16_customer_address_ca_address_sk_max) and in_bloom_filter(cs_ship_addr_sk, DynamicValue(RS_16_customer_address_ca_address_sk_bloom_filter))) and (cs_ship_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(cs_ship_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and cs_call_center_sk is not null and cs_order_number is not null and cs_ship_addr_sk is not null and cs_ship_date_sk is not null)
+                                                        Filter Operator [FIL_139] (rows=283695062 width=243)
+                                                          predicate:((cs_ship_addr_sk BETWEEN DynamicValue(RS_16_customer_address_ca_address_sk_min) AND DynamicValue(RS_16_customer_address_ca_address_sk_max) and in_bloom_filter(cs_ship_addr_sk, DynamicValue(RS_16_customer_address_ca_address_sk_bloom_filter))) and cs_call_center_sk is not null and cs_order_number is not null and cs_ship_addr_sk is not null and cs_ship_date_sk is not null)
                                                           TableScan [TS_0] (rows=287989836 width=243)
                                                             default@catalog_sales,cs1,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_ship_date_sk","cs_ship_addr_sk","cs_call_center_sk","cs_warehouse_sk","cs_order_number","cs_ext_ship_cost","cs_net_profit"]
-                                                          <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
                                                             BROADCAST [RS_138]
                                                               Group By Operator [GBY_137] (rows=1 width=12)
                                                                 Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                              <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
                                                                 SHUFFLE [RS_136]
                                                                   Group By Operator [GBY_135] (rows=1 width=12)
                                                                     Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                    Select Operator [SEL_134] (rows=8116 width=4)
+                                                                    Select Operator [SEL_134] (rows=784314 width=4)
                                                                       Output:["_col0"]
                                                                        Please refer to the previous Select Operator [SEL_132]
-                                                          <-Reducer 14 [BROADCAST_EDGE] vectorized
-                                                            BROADCAST [RS_146]
-                                                              Group By Operator [GBY_145] (rows=1 width=12)
-                                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                              <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                SHUFFLE [RS_144]
-                                                                  Group By Operator [GBY_143] (rows=1 width=12)
-                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                    Select Operator [SEL_142] (rows=784314 width=4)
-                                                                      Output:["_col0"]
-                                                                       Please refer to the previous Select Operator [SEL_140]
-                                                          <-Reducer 16 [BROADCAST_EDGE] vectorized
-                                                            BROADCAST [RS_154]
-                                                              Group By Operator [GBY_153] (rows=1 width=12)
-                                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                              <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                SHUFFLE [RS_152]
-                                                                  Group By Operator [GBY_151] (rows=1 width=12)
-                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                    Select Operator [SEL_150] (rows=10 width=4)
-                                                                      Output:["_col0"]
-                                                                       Please refer to the previous Select Operator [SEL_148]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_163]
+                                                  <-Map 11 [SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_144]
+                                                      PartitionCols:_col0
+                                                      Select Operator [SEL_143] (rows=8116 width=98)
+                                                        Output:["_col0"]
+                                                        Filter Operator [FIL_142] (rows=8116 width=98)
+                                                          predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-04-01 00:00:00' AND TIMESTAMP'2001-05-31 00:00:00' and d_date_sk is not null)
+                                                          TableScan [TS_3] (rows=73049 width=98)
+                                                            default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+                                      <-Map 15 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_153]
                                           PartitionCols:_col0
-                                          Group By Operator [GBY_162] (rows=286548719 width=7)
+                                          Group By Operator [GBY_152] (rows=286548719 width=7)
                                             Output:["_col0","_col1"],keys:_col0, _col1
-                                            Select Operator [SEL_161] (rows=286548719 width=7)
+                                            Select Operator [SEL_151] (rows=286548719 width=7)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_160] (rows=286548719 width=7)
+                                              Filter Operator [FIL_150] (rows=286548719 width=7)
                                                 predicate:((cs_order_number BETWEEN DynamicValue(RS_34_cs1_cs_order_number_min) AND DynamicValue(RS_34_cs1_cs_order_number_max) and in_bloom_filter(cs_order_number, DynamicValue(RS_34_cs1_cs_order_number_bloom_filter))) and cs_order_number is not null and cs_warehouse_sk is not null)
                                                 TableScan [TS_22] (rows=287989836 width=7)
                                                   default@catalog_sales,cs2,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_warehouse_sk","cs_order_number"]
                                                 <-Reducer 10 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_159]
-                                                    Group By Operator [GBY_158] (rows=1 width=12)
+                                                  BROADCAST [RS_149]
+                                                    Group By Operator [GBY_148] (rows=1 width=12)
                                                       Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                                     <-Reducer 4 [CUSTOM_SIMPLE_EDGE]
                                                       SHUFFLE [RS_116]

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query17.q.out b/ql/src/test/results/clientpositive/perf/tez/query17.q.out
index 642a67f..5f3fbaf 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query17.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query17.q.out
@@ -103,20 +103,16 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 12 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
-Map 19 <- Reducer 14 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
-Reducer 10 <- Map 19 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 12 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 13 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 8 (CUSTOM_SIMPLE_EDGE)
-Reducer 15 <- Map 20 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 17 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
+Map 15 <- Reducer 12 (BROADCAST_EDGE)
+Reducer 10 <- Map 15 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 16 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 18 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 21 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 5 <- Map 17 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
@@ -126,16 +122,16 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_263]
-        Limit [LIM_262] (rows=100 width=466)
+      File Output Operator [FS_253]
+        Limit [LIM_252] (rows=100 width=466)
           Number of rows:100
-          Select Operator [SEL_261] (rows=8581091759 width=466)
+          Select Operator [SEL_251] (rows=8581091759 width=466)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_260]
-              Select Operator [SEL_259] (rows=8581091759 width=466)
+            SHUFFLE [RS_250]
+              Select Operator [SEL_249] (rows=8581091759 width=466)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                Group By Operator [GBY_258] (rows=8581091759 width=466)
+                Group By Operator [GBY_248] (rows=8581091759 width=466)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","count(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)","sum(VALUE._col7)","count(VALUE._col8)","sum(VALUE._col9)","sum(VALUE._col10)","sum(VALUE._col11)"],keys:KEY._col0, KEY._col1, KEY._col2
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_50]
@@ -147,13 +143,13 @@ Stage-0
                         Select Operator [SEL_47] (rows=8581091759 width=381)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
                           Merge Join Operator [MERGEJOIN_213] (rows=8581091759 width=381)
-                            Conds:RS_44._col3=RS_257._col0(Inner),Output:["_col5","_col8","_col9","_col13","_col19","_col22"]
-                          <-Map 21 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_257]
+                            Conds:RS_44._col3=RS_247._col0(Inner),Output:["_col5","_col8","_col9","_col13","_col19","_col22"]
+                          <-Map 17 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_247]
                               PartitionCols:_col0
-                              Select Operator [SEL_256] (rows=1704 width=90)
+                              Select Operator [SEL_246] (rows=1704 width=90)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_255] (rows=1704 width=90)
+                                Filter Operator [FIL_245] (rows=1704 width=90)
                                   predicate:s_store_sk is not null
                                   TableScan [TS_32] (rows=1704 width=90)
                                     default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_state"]
@@ -168,10 +164,10 @@ Stage-0
                                   Merge Join Operator [MERGEJOIN_211] (rows=1640229377 width=19)
                                     Conds:RS_28._col2, _col1=RS_29._col1, _col2(Inner),Output:["_col3","_col6","_col7","_col8","_col9"]
                                   <-Reducer 10 [SIMPLE_EDGE]
-                                    PARTITION_ONLY_SHUFFLE [RS_28]
+                                    SHUFFLE [RS_28]
                                       PartitionCols:_col2, _col1
                                       Merge Join Operator [MERGEJOIN_209] (rows=47131396 width=11)
-                                        Conds:RS_244._col0=RS_222._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        Conds:RS_241._col0=RS_222._col0(Inner),Output:["_col1","_col2","_col3"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
                                         PARTITION_ONLY_SHUFFLE [RS_222]
                                           PartitionCols:_col0
@@ -181,56 +177,16 @@ Stage-0
                                               predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
                                               TableScan [TS_3] (rows=73049 width=94)
                                                 default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_quarter_name"]
-                                      <-Map 19 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_244]
+                                      <-Map 15 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_241]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_243] (rows=285117831 width=15)
+                                          Select Operator [SEL_240] (rows=285117831 width=15)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_242] (rows=285117831 width=15)
-                                              predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_29_store_returns_sr_customer_sk_min) AND DynamicValue(RS_29_store_returns_sr_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_29_store_returns_sr_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_29_store_returns_sr_item_sk_min) AND DynamicValue(RS_29_store_returns_sr_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_29_store_returns_sr_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_26_d3_d_date_sk_min) AND DynamicValue(RS_26_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_26_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                            Filter Operator [FIL_239] (rows=285117831 width=15)
+                                              predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_26_d3_d_date_sk_min) AND DynamicValue(RS_26_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_26_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
                                               TableScan [TS_9] (rows=287989836 width=15)
                                                 default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"]
-                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_236]
-                                                  Group By Operator [GBY_234] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
-                                                    PARTITION_ONLY_SHUFFLE [RS_111]
-                                                      Group By Operator [GBY_110] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_109] (rows=8143830 width=8)
-                                                          Output:["_col0"]
-                                                          Merge Join Operator [MERGEJOIN_210] (rows=8143830 width=14)
-                                                            Conds:RS_233._col0=RS_224._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                                          <-Map 8 [SIMPLE_EDGE] vectorized
-                                                            PARTITION_ONLY_SHUFFLE [RS_224]
-                                                              PartitionCols:_col0
-                                                              Select Operator [SEL_219] (rows=304 width=4)
-                                                                Output:["_col0"]
-                                                                Filter Operator [FIL_216] (rows=304 width=94)
-                                                                  predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
-                                                                   Please refer to the previous TableScan [TS_3]
-                                                          <-Map 20 [SIMPLE_EDGE] vectorized
-                                                            SHUFFLE [RS_233]
-                                                              PartitionCols:_col0
-                                                              Select Operator [SEL_232] (rows=53632139 width=19)
-                                                                Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                                Filter Operator [FIL_231] (rows=53632139 width=19)
-                                                                  predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
-                                                                  TableScan [TS_15] (rows=57591150 width=19)
-                                                                    default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
-                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_241]
-                                                  Group By Operator [GBY_239] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
-                                                    PARTITION_ONLY_SHUFFLE [RS_126]
-                                                      Group By Operator [GBY_125] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_124] (rows=8143830 width=6)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_210]
-                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                              <-Reducer 12 [BROADCAST_EDGE] vectorized
                                                 BROADCAST [RS_238]
                                                   Group By Operator [GBY_237] (rows=1 width=12)
                                                     Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
@@ -241,21 +197,39 @@ Stage-0
                                                         Select Operator [SEL_223] (rows=304 width=4)
                                                           Output:["_col0"]
                                                            Please refer to the previous Select Operator [SEL_218]
-                                  <-Reducer 15 [SIMPLE_EDGE]
-                                    PARTITION_ONLY_SHUFFLE [RS_29]
+                                  <-Reducer 13 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_29]
                                       PartitionCols:_col1, _col2
-                                       Please refer to the previous Merge Join Operator [MERGEJOIN_210]
+                                      Merge Join Operator [MERGEJOIN_210] (rows=8143830 width=14)
+                                        Conds:RS_244._col0=RS_224._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_224]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_219] (rows=304 width=4)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_216] (rows=304 width=94)
+                                              predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
+                                               Please refer to the previous TableScan [TS_3]
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_244]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_243] (rows=53632139 width=19)
+                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                            Filter Operator [FIL_242] (rows=53632139 width=19)
+                                              predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
+                                              TableScan [TS_15] (rows=57591150 width=19)
+                                                default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
                               <-Reducer 3 [SIMPLE_EDGE]
                                 SHUFFLE [RS_41]
                                   PartitionCols:_col1, _col2, _col4
                                   Merge Join Operator [MERGEJOIN_208] (rows=27749405 width=294)
-                                    Conds:RS_38._col1=RS_254._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col8","_col9"]
-                                  <-Map 18 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_254]
+                                    Conds:RS_38._col1=RS_236._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col8","_col9"]
+                                  <-Map 14 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_236]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_253] (rows=462000 width=288)
+                                      Select Operator [SEL_235] (rows=462000 width=288)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_252] (rows=462000 width=288)
+                                        Filter Operator [FIL_234] (rows=462000 width=288)
                                           predicate:i_item_sk is not null
                                           TableScan [TS_6] (rows=462000 width=288)
                                             default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id","i_item_desc"]
@@ -263,7 +237,7 @@ Stage-0
                                     SHUFFLE [RS_38]
                                       PartitionCols:_col1
                                       Merge Join Operator [MERGEJOIN_207] (rows=27749405 width=10)
-                                        Conds:RS_251._col0=RS_220._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        Conds:RS_233._col0=RS_220._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
                                         PARTITION_ONLY_SHUFFLE [RS_220]
                                           PartitionCols:_col0
@@ -273,42 +247,14 @@ Stage-0
                                               predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null)
                                                Please refer to the previous TableScan [TS_3]
                                       <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_251]
+                                        SHUFFLE [RS_233]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_250] (rows=501694138 width=23)
+                                          Select Operator [SEL_232] (rows=501694138 width=23)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_249] (rows=501694138 width=23)
-                                              predicate:((ss_customer_sk BETWEEN DynamicValue(RS_28_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_28_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_28_catalog_sales_cs_bill_customer_sk_bloom_filter))) and (ss_customer_sk BETWEEN DynamicValue(RS_29_store_returns_sr_customer_sk_min) AND DynamicValue(RS_29_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_29_store_returns_sr_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_28_catalog_sales_cs_item_sk_min) AND DynamicValue(RS_28_catalog_sales_cs_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_28_catalog_sales_cs_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_29_store_returns_sr_item_sk_min) AND DynamicValue(RS_29_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_29_store_returns_sr_item_sk_bloom_filter))) and (ss_sold_date
 _sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                            Filter Operator [FIL_231] (rows=501694138 width=23)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
                                               TableScan [TS_0] (rows=575995635 width=23)
                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
-                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_235]
-                                                   Please refer to the previous Group By Operator [GBY_234]
-                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_240]
-                                                   Please refer to the previous Group By Operator [GBY_239]
-                                              <-Reducer 12 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_246]
-                                                  Group By Operator [GBY_245] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
-                                                    PARTITION_ONLY_SHUFFLE [RS_116]
-                                                      Group By Operator [GBY_115] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_114] (rows=47131396 width=8)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_209]
-                                              <-Reducer 13 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_248]
-                                                  Group By Operator [GBY_247] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
-                                                    PARTITION_ONLY_SHUFFLE [RS_131]
-                                                      Group By Operator [GBY_130] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_129] (rows=47131396 width=7)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_209]
                                               <-Reducer 9 [BROADCAST_EDGE] vectorized
                                                 BROADCAST [RS_230]
                                                   Group By Operator [GBY_229] (rows=1 width=12)

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query18.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query18.q.out b/ql/src/test/results/clientpositive/perf/tez/query18.q.out
index f51e75b..18f497e 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query18.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query18.q.out
@@ -81,34 +81,32 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 10 <- Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Map 9 <- Reducer 14 (BROADCAST_EDGE)
+Reducer 10 <- Map 13 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
 Reducer 12 <- Map 16 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Map 18 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
-Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_181]
-        Limit [LIM_180] (rows=100 width=1165)
+      File Output Operator [FS_174]
+        Limit [LIM_173] (rows=100 width=1165)
           Number of rows:100
-          Select Operator [SEL_179] (rows=10969055 width=1165)
+          Select Operator [SEL_172] (rows=10969055 width=1165)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_178]
-              Select Operator [SEL_177] (rows=10969055 width=1165)
+            SHUFFLE [RS_171]
+              Select Operator [SEL_170] (rows=10969055 width=1165)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
-                Group By Operator [GBY_176] (rows=10969055 width=1229)
+                Group By Operator [GBY_169] (rows=10969055 width=1229)
                   Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)","sum(VALUE._col8)","count(VALUE._col9)","sum(VALUE._col10)","count(VALUE._col11)","sum(VALUE._col12)","count(VALUE._col13)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_42]
@@ -117,79 +115,42 @@ Stage-0
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"],aggregations:["sum(_col15)","count(_col15)","sum(_col16)","count(_col16)","sum(_col17)","count(_col17)","sum(_col18)","count(_col18)","sum(_col19)","count(_col19)","sum(_col3)","count(_col3)","sum(_col22)","count(_col22)"],keys:_col5, _col6, _col7, _col10, 0L
                       Merge Join Operator [MERGEJOIN_142] (rows=2193811 width=811)
                         Conds:RS_37._col0=RS_38._col3(Inner),Output:["_col3","_col5","_col6","_col7","_col10","_col15","_col16","_col17","_col18","_col19","_col22"]
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        PARTITION_ONLY_SHUFFLE [RS_37]
-                          PartitionCols:_col0
-                          Merge Join Operator [MERGEJOIN_138] (rows=4959744 width=368)
-                            Conds:RS_34._col1=RS_151._col0(Inner),Output:["_col0","_col3","_col5","_col6","_col7"]
-                          <-Map 9 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_151]
-                              PartitionCols:_col0
-                              Select Operator [SEL_150] (rows=1861800 width=4)
-                                Output:["_col0"]
-                                Filter Operator [FIL_149] (rows=1861800 width=4)
-                                  predicate:cd_demo_sk is not null
-                                  TableScan [TS_6] (rows=1861800 width=4)
-                                    default@customer_demographics,cd2,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk"]
-                          <-Reducer 2 [SIMPLE_EDGE]
-                            SHUFFLE [RS_34]
-                              PartitionCols:_col1
-                              Merge Join Operator [MERGEJOIN_137] (rows=4890586 width=371)
-                                Conds:RS_145._col2=RS_148._col0(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7"]
-                              <-Map 1 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_145]
-                                  PartitionCols:_col2
-                                  Select Operator [SEL_144] (rows=35631408 width=119)
-                                    Output:["_col0","_col1","_col2","_col3"]
-                                    Filter Operator [FIL_143] (rows=35631408 width=19)
-                                      predicate:((c_birth_month) IN (9, 5, 12, 4, 1, 10) and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
-                                      TableScan [TS_0] (rows=80000000 width=19)
-                                        default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk","c_birth_month","c_birth_year"]
-                              <-Map 8 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_148]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_147] (rows=5490196 width=285)
-                                    Output:["_col0","_col1","_col2","_col3"]
-                                    Filter Operator [FIL_146] (rows=5490196 width=285)
-                                      predicate:((ca_state) IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') and ca_address_sk is not null)
-                                      TableScan [TS_3] (rows=40000000 width=285)
-                                        default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county","ca_state","ca_country"]
-                      <-Reducer 13 [SIMPLE_EDGE]
+                      <-Reducer 12 [SIMPLE_EDGE]
                         SHUFFLE [RS_38]
                           PartitionCols:_col3
                           Select Operator [SEL_30] (rows=15983481 width=735)
                             Output:["_col1","_col3","_col6","_col7","_col8","_col9","_col10","_col13"]
                             Merge Join Operator [MERGEJOIN_141] (rows=15983481 width=735)
-                              Conds:RS_27._col3=RS_175._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col8","_col11","_col13"]
-                            <-Map 18 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_175]
+                              Conds:RS_27._col3=RS_168._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col8","_col11","_col13"]
+                            <-Map 16 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_168]
                                 PartitionCols:_col0
-                                Select Operator [SEL_174] (rows=462000 width=104)
+                                Select Operator [SEL_167] (rows=462000 width=104)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_173] (rows=462000 width=104)
+                                  Filter Operator [FIL_166] (rows=462000 width=104)
                                     predicate:i_item_sk is not null
                                     TableScan [TS_18] (rows=462000 width=104)
                                       default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
-                            <-Reducer 12 [SIMPLE_EDGE]
+                            <-Reducer 11 [SIMPLE_EDGE]
                               SHUFFLE [RS_27]
                                 PartitionCols:_col3
                                 Merge Join Operator [MERGEJOIN_140] (rows=15983481 width=639)
-                                  Conds:RS_24._col2=RS_162._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col11"]
-                                <-Map 16 [SIMPLE_EDGE] vectorized
-                                  PARTITION_ONLY_SHUFFLE [RS_162]
+                                  Conds:RS_24._col2=RS_165._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col11"]
+                                <-Map 15 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_165]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_161] (rows=103433 width=116)
+                                    Select Operator [SEL_164] (rows=103433 width=116)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_160] (rows=103433 width=187)
+                                      Filter Operator [FIL_163] (rows=103433 width=187)
                                         predicate:((cd_education_status = 'College') and (cd_gender = 'M') and cd_demo_sk is not null)
                                         TableScan [TS_15] (rows=1861800 width=187)
                                           default@customer_demographics,cd1,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_gender","cd_education_status","cd_dep_count"]
-                                <-Reducer 11 [SIMPLE_EDGE]
+                                <-Reducer 10 [SIMPLE_EDGE]
                                   SHUFFLE [RS_24]
                                     PartitionCols:_col2
                                     Merge Join Operator [MERGEJOIN_139] (rows=100578970 width=565)
-                                      Conds:RS_172._col0=RS_154._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                    <-Map 14 [SIMPLE_EDGE] vectorized
+                                      Conds:RS_162._col0=RS_154._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                                    <-Map 13 [SIMPLE_EDGE] vectorized
                                       PARTITION_ONLY_SHUFFLE [RS_154]
                                         PartitionCols:_col0
                                         Select Operator [SEL_153] (rows=652 width=4)
@@ -198,46 +159,61 @@ Stage-0
                                             predicate:((d_year = 2001) and d_date_sk is not null)
                                             TableScan [TS_12] (rows=73049 width=8)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
-                                    <-Map 10 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_172]
+                                    <-Map 9 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_162]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_171] (rows=283692098 width=573)
+                                        Select Operator [SEL_161] (rows=283692098 width=573)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                          Filter Operator [FIL_170] (rows=283692098 width=466)
-                                            predicate:((cs_bill_cdemo_sk BETWEEN DynamicValue(RS_25_cd1_cd_demo_sk_min) AND DynamicValue(RS_25_cd1_cd_demo_sk_max) and in_bloom_filter(cs_bill_cdemo_sk, DynamicValue(RS_25_cd1_cd_demo_sk_bloom_filter))) and (cs_bill_customer_sk BETWEEN DynamicValue(RS_37_customer_c_customer_sk_min) AND DynamicValue(RS_37_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_37_customer_c_customer_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_22_date_dim_d_date_sk_min) AND DynamicValue(RS_22_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_22_date_dim_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                          Filter Operator [FIL_160] (rows=283692098 width=466)
+                                            predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_22_date_dim_d_date_sk_min) AND DynamicValue(RS_22_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_22_date_dim_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
                                             TableScan [TS_9] (rows=287989836 width=466)
                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_bill_cdemo_sk","cs_item_sk","cs_quantity","cs_list_price","cs_sales_price","cs_coupon_amt","cs_net_profit"]
-                                            <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                            <-Reducer 14 [BROADCAST_EDGE] vectorized
                                               BROADCAST [RS_159]
                                                 Group By Operator [GBY_158] (rows=1 width=12)
                                                   Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
                                                   PARTITION_ONLY_SHUFFLE [RS_157]
                                                     Group By Operator [GBY_156] (rows=1 width=12)
                                                       Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
                                                       Select Operator [SEL_155] (rows=652 width=4)
                                                         Output:["_col0"]
                                                          Please refer to the previous Select Operator [SEL_153]
-                                            <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                              BROADCAST [RS_167]
-                                                Group By Operator [GBY_166] (rows=1 width=12)
-                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                  PARTITION_ONLY_SHUFFLE [RS_165]
-                                                    Group By Operator [GBY_164] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                      Select Operator [SEL_163] (rows=103433 width=4)
-                                                        Output:["_col0"]
-                                                         Please refer to the previous Select Operator [SEL_161]
-                                            <-Reducer 7 [BROADCAST_EDGE] vectorized
-                                              BROADCAST [RS_169]
-                                                Group By Operator [GBY_168] (rows=1 width=12)
-                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=4890586)"]
-                                                <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
-                                                  PARTITION_ONLY_SHUFFLE [RS_119]
-                                                    Group By Operator [GBY_118] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=4890586)"]
-                                                      Select Operator [SEL_117] (rows=4959744 width=4)
-                                                        Output:["_col0"]
-                                                         Please refer to the previous Merge Join Operator [MERGEJOIN_138]
+                      <-Reducer 3 [SIMPLE_EDGE]
+                        SHUFFLE [RS_37]
+                          PartitionCols:_col0
+                          Merge Join Operator [MERGEJOIN_138] (rows=4959744 width=368)
+                            Conds:RS_34._col1=RS_151._col0(Inner),Output:["_col0","_col3","_col5","_col6","_col7"]
+                          <-Map 8 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_151]
+                              PartitionCols:_col0
+                              Select Operator [SEL_150] (rows=1861800 width=4)
+                                Output:["_col0"]
+                                Filter Operator [FIL_149] (rows=1861800 width=4)
+                                  predicate:cd_demo_sk is not null
+                                  TableScan [TS_6] (rows=1861800 width=4)
+                                    default@customer_demographics,cd2,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk"]
+                          <-Reducer 2 [SIMPLE_EDGE]
+                            SHUFFLE [RS_34]
+                              PartitionCols:_col1
+                              Merge Join Operator [MERGEJOIN_137] (rows=4890586 width=371)
+                                Conds:RS_145._col2=RS_148._col0(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7"]
+                              <-Map 1 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_145]
+                                  PartitionCols:_col2
+                                  Select Operator [SEL_144] (rows=35631408 width=119)
+                                    Output:["_col0","_col1","_col2","_col3"]
+                                    Filter Operator [FIL_143] (rows=35631408 width=19)
+                                      predicate:((c_birth_month) IN (9, 5, 12, 4, 1, 10) and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
+                                      TableScan [TS_0] (rows=80000000 width=19)
+                                        default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk","c_birth_month","c_birth_year"]
+                              <-Map 7 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_148]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_147] (rows=5490196 width=285)
+                                    Output:["_col0","_col1","_col2","_col3"]
+                                    Filter Operator [FIL_146] (rows=5490196 width=285)
+                                      predicate:((ca_state) IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') and ca_address_sk is not null)
+                                      TableScan [TS_3] (rows=40000000 width=285)
+                                        default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county","ca_state","ca_country"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query19.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query19.q.out b/ql/src/test/results/clientpositive/perf/tez/query19.q.out
index ebb4d17..b61a28e 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query19.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query19.q.out
@@ -63,13 +63,12 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 8 <- Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE)
+Map 8 <- Reducer 12 (BROADCAST_EDGE)
 Reducer 10 <- Map 13 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
 Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
@@ -79,16 +78,16 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_157]
-        Limit [LIM_156] (rows=100 width=419)
+      File Output Operator [FS_152]
+        Limit [LIM_151] (rows=100 width=419)
           Number of rows:100
-          Select Operator [SEL_155] (rows=2098703 width=418)
+          Select Operator [SEL_150] (rows=2098703 width=418)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_154]
-              Select Operator [SEL_153] (rows=2098703 width=418)
+            SHUFFLE [RS_149]
+              Select Operator [SEL_148] (rows=2098703 width=418)
                 Output:["_col2","_col3","_col4","_col5","_col6"]
-                Group By Operator [GBY_152] (rows=2098703 width=314)
+                Group By Operator [GBY_147] (rows=2098703 width=314)
                   Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_37]
@@ -100,13 +99,13 @@ Stage-0
                         Filter Operator [FIL_34] (rows=2098703 width=570)
                           predicate:(_col3 <> _col16)
                           Merge Join Operator [MERGEJOIN_123] (rows=2098703 width=570)
-                            Conds:RS_31._col7=RS_151._col0(Inner),Output:["_col3","_col8","_col11","_col12","_col13","_col14","_col16"]
-                          <-Map 15 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_151]
+                            Conds:RS_31._col7=RS_146._col0(Inner),Output:["_col3","_col8","_col11","_col12","_col13","_col14","_col16"]
+                          <-Map 14 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_146]
                               PartitionCols:_col0
-                              Select Operator [SEL_150] (rows=1704 width=188)
+                              Select Operator [SEL_145] (rows=1704 width=188)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_149] (rows=1704 width=93)
+                                Filter Operator [FIL_144] (rows=1704 width=93)
                                   predicate:s_store_sk is not null
                                   TableScan [TS_22] (rows=1704 width=93)
                                     default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_zip"]
@@ -119,13 +118,13 @@ Stage-0
                                 SHUFFLE [RS_29]
                                   PartitionCols:_col2
                                   Merge Join Operator [MERGEJOIN_121] (rows=2098703 width=202)
-                                    Conds:RS_18._col1=RS_140._col0(Inner),Output:["_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                    Conds:RS_18._col1=RS_143._col0(Inner),Output:["_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
                                   <-Map 13 [SIMPLE_EDGE] vectorized
-                                    PARTITION_ONLY_SHUFFLE [RS_140]
+                                    SHUFFLE [RS_143]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_139] (rows=7333 width=206)
+                                      Select Operator [SEL_142] (rows=7333 width=206)
                                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                                        Filter Operator [FIL_138] (rows=7333 width=210)
+                                        Filter Operator [FIL_141] (rows=7333 width=210)
                                           predicate:((i_manager_id = 7) and i_item_sk is not null)
                                           TableScan [TS_12] (rows=462000 width=210)
                                             default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_brand","i_manufact_id","i_manufact","i_manager_id"]
@@ -133,7 +132,7 @@ Stage-0
                                     SHUFFLE [RS_18]
                                       PartitionCols:_col1
                                       Merge Join Operator [MERGEJOIN_120] (rows=13737330 width=4)
-                                        Conds:RS_148._col0=RS_132._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                        Conds:RS_140._col0=RS_132._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                       <-Map 11 [SIMPLE_EDGE] vectorized
                                         SHUFFLE [RS_132]
                                           PartitionCols:_col0
@@ -144,12 +143,12 @@ Stage-0
                                               TableScan [TS_9] (rows=73049 width=12)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_148]
+                                        SHUFFLE [RS_140]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_147] (rows=501694138 width=122)
+                                          Select Operator [SEL_139] (rows=501694138 width=122)
                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                            Filter Operator [FIL_146] (rows=501694138 width=122)
-                                              predicate:((ss_item_sk BETWEEN DynamicValue(RS_19_item_i_item_sk_min) AND DynamicValue(RS_19_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                            Filter Operator [FIL_138] (rows=501694138 width=122)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                               TableScan [TS_6] (rows=575995635 width=122)
                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ext_sales_price"]
                                               <-Reducer 12 [BROADCAST_EDGE] vectorized
@@ -163,17 +162,6 @@ Stage-0
                                                         Select Operator [SEL_133] (rows=50 width=4)
                                                           Output:["_col0"]
                                                            Please refer to the previous Select Operator [SEL_131]
-                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_145]
-                                                  Group By Operator [GBY_144] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                    PARTITION_ONLY_SHUFFLE [RS_143]
-                                                      Group By Operator [GBY_142] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_141] (rows=7333 width=4)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Select Operator [SEL_139]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_28]
                                   PartitionCols:_col0

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query20.q.out b/ql/src/test/results/clientpositive/perf/tez/query20.q.out
index 0fa6f79..d801c2f 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query20.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query20.q.out
@@ -65,8 +65,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
-Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 8 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
@@ -79,23 +78,23 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_86]
-        Limit [LIM_85] (rows=100 width=802)
+      File Output Operator [FS_81]
+        Limit [LIM_80] (rows=100 width=802)
           Number of rows:100
-          Select Operator [SEL_84] (rows=138600 width=801)
+          Select Operator [SEL_79] (rows=138600 width=801)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_83]
-              Select Operator [SEL_82] (rows=138600 width=801)
+            SHUFFLE [RS_78]
+              Select Operator [SEL_77] (rows=138600 width=801)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                PTF Operator [PTF_81] (rows=138600 width=689)
+                PTF Operator [PTF_76] (rows=138600 width=689)
                   Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"_col1"}]
-                  Select Operator [SEL_80] (rows=138600 width=689)
+                  Select Operator [SEL_75] (rows=138600 width=689)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_79]
+                    SHUFFLE [RS_74]
                       PartitionCols:_col1
-                      Group By Operator [GBY_78] (rows=138600 width=689)
+                      Group By Operator [GBY_73] (rows=138600 width=689)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_17]
@@ -103,13 +102,13 @@ Stage-0
                           Group By Operator [GBY_16] (rows=138600 width=689)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)"],keys:_col9, _col8, _col5, _col6, _col7
                             Merge Join Operator [MERGEJOIN_58] (rows=9551005 width=673)
-                              Conds:RS_12._col1=RS_69._col0(Inner),Output:["_col2","_col5","_col6","_col7","_col8","_col9"]
+                              Conds:RS_12._col1=RS_72._col0(Inner),Output:["_col2","_col5","_col6","_col7","_col8","_col9"]
                             <-Map 9 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_69]
+                              SHUFFLE [RS_72]
                                 PartitionCols:_col0
-                                Select Operator [SEL_68] (rows=138600 width=581)
+                                Select Operator [SEL_71] (rows=138600 width=581)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                  Filter Operator [FIL_67] (rows=138600 width=581)
+                                  Filter Operator [FIL_70] (rows=138600 width=581)
                                     predicate:((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null)
                                     TableScan [TS_6] (rows=462000 width=581)
                                       default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id","i_item_desc","i_current_price","i_class","i_category"]
@@ -117,7 +116,7 @@ Stage-0
                               SHUFFLE [RS_12]
                                 PartitionCols:_col1
                                 Merge Join Operator [MERGEJOIN_57] (rows=31836679 width=110)
-                                  Conds:RS_77._col0=RS_61._col0(Inner),Output:["_col1","_col2"]
+                                  Conds:RS_69._col0=RS_61._col0(Inner),Output:["_col1","_col2"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
                                   PARTITION_ONLY_SHUFFLE [RS_61]
                                     PartitionCols:_col0
@@ -128,25 +127,14 @@ Stage-0
                                         TableScan [TS_3] (rows=73049 width=98)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_77]
+                                  SHUFFLE [RS_69]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_76] (rows=286549727 width=119)
+                                    Select Operator [SEL_68] (rows=286549727 width=119)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_75] (rows=286549727 width=119)
-                                        predicate:((cs_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                      Filter Operator [FIL_67] (rows=286549727 width=119)
+                                        predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null)
                                         TableScan [TS_0] (rows=287989836 width=119)
                                           default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_sales_price"]
-                                        <-Reducer 10 [BROADCAST_EDGE] vectorized
-                                          BROADCAST [RS_74]
-                                            Group By Operator [GBY_73] (rows=1 width=12)
-                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                            <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_72]
-                                                Group By Operator [GBY_71] (rows=1 width=12)
-                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                  Select Operator [SEL_70] (rows=138600 width=4)
-                                                    Output:["_col0"]
-                                                     Please refer to the previous Select Operator [SEL_68]
                                         <-Reducer 8 [BROADCAST_EDGE] vectorized
                                           BROADCAST [RS_66]
                                             Group By Operator [GBY_65] (rows=1 width=12)