http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mapjoin46.q.out 
b/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
index 52eb609..d0d9c87 100644
--- a/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
+++ b/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
@@ -128,14 +128,14 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
+100    1       Bob     NULL    NULL    NULL
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
 98     NULL    None    NULL    NULL    NULL
 99     0       Alice   NULL    NULL    NULL
 99     2       Mat     102     2       Del
 99     2       Mat     103     2       Ema
-100    1       Bob     NULL    NULL    NULL
-101    2       Car     102     2       Del
-101    2       Car     103     2       Ema
+NULL   NULL    None    NULL    NULL    NULL
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 LEFT OUTER JOIN test2_n2
@@ -239,12 +239,12 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
+100    1       Bob     NULL    NULL    NULL
+101    2       Car     102     2       Del
 98     NULL    None    NULL    NULL    NULL
 99     0       Alice   NULL    NULL    NULL
 99     2       Mat     NULL    NULL    NULL
-100    1       Bob     NULL    NULL    NULL
-101    2       Car     102     2       Del
+NULL   NULL    None    NULL    NULL    NULL
 Warning: Map Join MAPJOIN[11][bigTable=?] in task 'Map 1' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -344,12 +344,12 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
+100    1       Bob     102     2       Del
+101    2       Car     102     2       Del
 98     NULL    None    NULL    NULL    NULL
 99     0       Alice   NULL    NULL    NULL
 99     2       Mat     NULL    NULL    NULL
-100    1       Bob     102     2       Del
-101    2       Car     102     2       Del
+NULL   NULL    None    NULL    NULL    NULL
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 RIGHT OUTER JOIN test2_n2
@@ -438,10 +438,10 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-99     2       Mat     102     2       Del
 101    2       Car     102     2       Del
-99     2       Mat     103     2       Ema
 101    2       Car     103     2       Ema
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
 NULL   NULL    NULL    104     3       Fli
 NULL   NULL    NULL    105     NULL    None
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 1' is a cross product
@@ -535,18 +535,18 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
-98     NULL    None    NULL    NULL    NULL
-99     0       Alice   NULL    NULL    NULL
-99     2       Mat     NULL    NULL    NULL
 100    1       Bob     102     2       Del
-100    1       Bob     105     NULL    None
-100    1       Bob     104     3       Fli
 100    1       Bob     103     2       Ema
+100    1       Bob     104     3       Fli
+100    1       Bob     105     NULL    None
 101    2       Car     102     2       Del
-101    2       Car     105     NULL    None
-101    2       Car     104     3       Fli
 101    2       Car     103     2       Ema
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
+98     NULL    None    NULL    NULL    NULL
+99     0       Alice   NULL    NULL    NULL
+99     2       Mat     NULL    NULL    NULL
+NULL   NULL    None    NULL    NULL    NULL
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 1' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -644,19 +644,19 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    102     2       Del
-98     NULL    None    102     2       Del
-99     0       Alice   102     2       Del
-99     2       Mat     102     2       Del
-99     2       Mat     103     2       Ema
 100    1       Bob     102     2       Del
-100    1       Bob     105     NULL    None
-100    1       Bob     104     3       Fli
 100    1       Bob     103     2       Ema
+100    1       Bob     104     3       Fli
+100    1       Bob     105     NULL    None
 101    2       Car     102     2       Del
-101    2       Car     105     NULL    None
-101    2       Car     104     3       Fli
 101    2       Car     103     2       Ema
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    None    102     2       Del
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 1' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -750,19 +750,19 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
-98     NULL    None    NULL    NULL    NULL
-99     0       Alice   NULL    NULL    NULL
-99     2       Mat     102     2       Del
-99     2       Mat     103     2       Ema
 100    1       Bob     102     2       Del
-100    1       Bob     105     NULL    None
-100    1       Bob     104     3       Fli
 100    1       Bob     103     2       Ema
+100    1       Bob     104     3       Fli
+100    1       Bob     105     NULL    None
 101    2       Car     102     2       Del
-101    2       Car     105     NULL    None
-101    2       Car     104     3       Fli
 101    2       Car     103     2       Ema
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
+98     NULL    None    NULL    NULL    NULL
+99     0       Alice   NULL    NULL    NULL
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    None    NULL    NULL    NULL
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 1' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -856,14 +856,14 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    102     2       Del
+100    1       Bob     102     2       Del
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
 98     NULL    None    102     2       Del
 99     0       Alice   102     2       Del
 99     2       Mat     102     2       Del
 99     2       Mat     103     2       Ema
-100    1       Bob     102     2       Del
-101    2       Car     102     2       Del
-101    2       Car     103     2       Ema
+NULL   NULL    None    102     2       Del
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 LEFT OUTER JOIN test2_n2
@@ -961,13 +961,13 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
-98     NULL    None    NULL    NULL    NULL
-99     0       Alice   NULL    NULL    NULL
-99     2       Mat     102     2       Del
 100    1       Bob     NULL    NULL    NULL
 101    2       Car     102     2       Del
 101    2       Car     103     2       Ema
+98     NULL    None    NULL    NULL    NULL
+99     0       Alice   NULL    NULL    NULL
+99     2       Mat     102     2       Del
+NULL   NULL    None    NULL    NULL    NULL
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -1065,19 +1065,19 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    102     2       Del
-101    2       Car     102     2       Del
 100    1       Bob     102     2       Del
-99     2       Mat     102     2       Del
-99     0       Alice   102     2       Del
-98     NULL    None    102     2       Del
-101    2       Car     103     2       Ema
 100    1       Bob     103     2       Ema
-99     2       Mat     103     2       Ema
-101    2       Car     104     3       Fli
 100    1       Bob     104     3       Fli
-101    2       Car     105     NULL    None
 100    1       Bob     105     NULL    None
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    None    102     2       Del
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -1171,16 +1171,16 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-101    2       Car     102     2       Del
 100    1       Bob     102     2       Del
-99     2       Mat     102     2       Del
-101    2       Car     103     2       Ema
 100    1       Bob     103     2       Ema
-99     2       Mat     103     2       Ema
-101    2       Car     104     3       Fli
 100    1       Bob     104     3       Fli
-101    2       Car     105     NULL    None
 100    1       Bob     105     NULL    None
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
 Warning: Map Join MAPJOIN[9][bigTable=?] in task 'Map 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
@@ -1274,16 +1274,16 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    102     2       Del
-101    2       Car     102     2       Del
 100    1       Bob     102     2       Del
-99     2       Mat     102     2       Del
-99     0       Alice   102     2       Del
-98     NULL    None    102     2       Del
+101    2       Car     102     2       Del
 101    2       Car     103     2       Ema
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
 99     2       Mat     103     2       Ema
 NULL   NULL    NULL    104     3       Fli
 NULL   NULL    NULL    105     NULL    None
+NULL   NULL    None    102     2       Del
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 RIGHT OUTER JOIN test2_n2
@@ -1381,9 +1381,9 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-99     2       Mat     102     2       Del
 101    2       Car     102     2       Del
 101    2       Car     103     2       Ema
+99     2       Mat     102     2       Del
 NULL   NULL    NULL    104     3       Fli
 NULL   NULL    NULL    105     NULL    None
 Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
@@ -1448,7 +1448,7 @@ STAGE PLANS:
             Reduce Operator Tree:
               Merge Join Operator
                 condition map:
-                     Outer Join 0 to 1
+                     Full Outer Join 0 to 1
                 keys:
                   0 
                   1 
@@ -1488,11 +1488,6 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    102     2       Del
-98     NULL    None    102     2       Del
-99     0       Alice   102     2       Del
-99     2       Mat     102     2       Del
-99     2       Mat     103     2       Ema
 100    1       Bob     102     2       Del
 100    1       Bob     103     2       Ema
 100    1       Bob     104     3       Fli
@@ -1501,18 +1496,25 @@ NULL    NULL    None    102     2       Del
 101    2       Car     103     2       Ema
 101    2       Car     104     3       Fli
 101    2       Car     105     NULL    None
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    None    102     2       Del
 Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test1_n4.key between 100 and 102)
+  OR test1_n4.key between 100 and 102
+  OR test2_n2.key between 100 and 102)
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test1_n4.key between 100 and 102)
+  OR test1_n4.key between 100 and 102
+  OR test2_n2.key between 100 and 102)
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
   Stage-1 is a root stage
@@ -1561,12 +1563,12 @@ STAGE PLANS:
             Reduce Operator Tree:
               Merge Join Operator
                 condition map:
-                     Outer Join 0 to 1
+                     Full Outer Join 0 to 1
                 keys:
                   0 
                   1 
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                residual filter predicates: {((_col1 = _col4) or _col0 BETWEEN 
100 AND 102)}
+                residual filter predicates: {((_col1 = _col4) or _col0 BETWEEN 
100 AND 102 or _col3 BETWEEN 100 AND 102)}
                 Statistics: Num rows: 24 Data size: 4580 Basic stats: COMPLETE 
Column stats: COMPLETE
                 File Output Operator
                   compressed: false
@@ -1586,7 +1588,8 @@ Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, 
$hdt$_1]] in Stage 'Reduce
 PREHOOK: query: SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test1_n4.key between 100 and 102)
+  OR test1_n4.key between 100 and 102
+  OR test2_n2.key between 100 and 102)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@test1_n4
 PREHOOK: Input: default@test2_n2
@@ -1594,16 +1597,12 @@ PREHOOK: Input: default@test2_n2
 POSTHOOK: query: SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test1_n4.key between 100 and 102)
+  OR test1_n4.key between 100 and 102
+  OR test2_n2.key between 100 and 102)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    NULL    NULL    NULL
-98     NULL    None    NULL    NULL    NULL
-99     0       Alice   NULL    NULL    NULL
-99     2       Mat     102     2       Del
-99     2       Mat     103     2       Ema
 100    1       Bob     102     2       Del
 100    1       Bob     103     2       Ema
 100    1       Bob     104     3       Fli
@@ -1612,18 +1611,23 @@ NULL    NULL    None    NULL    NULL    NULL
 101    2       Car     103     2       Ema
 101    2       Car     104     3       Fli
 101    2       Car     105     NULL    None
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    None    102     2       Del
 Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test2_n2.key between 100 and 102)
+  OR test1_n4.key between 100 and 102)
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test2_n2.key between 100 and 102)
+  OR test1_n4.key between 100 and 102)
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
   Stage-1 is a root stage
@@ -1672,12 +1676,12 @@ STAGE PLANS:
             Reduce Operator Tree:
               Merge Join Operator
                 condition map:
-                     Outer Join 0 to 1
+                     Full Outer Join 0 to 1
                 keys:
                   0 
                   1 
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                residual filter predicates: {((_col1 = _col4) or _col3 BETWEEN 
100 AND 102)}
+                residual filter predicates: {((_col1 = _col4) or _col0 BETWEEN 
100 AND 102)}
                 Statistics: Num rows: 24 Data size: 4580 Basic stats: COMPLETE 
Column stats: COMPLETE
                 File Output Operator
                   compressed: false
@@ -1697,7 +1701,7 @@ Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, 
$hdt$_1]] in Stage 'Reduce
 PREHOOK: query: SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test2_n2.key between 100 and 102)
+  OR test1_n4.key between 100 and 102)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@test1_n4
 PREHOOK: Input: default@test2_n2
@@ -1705,34 +1709,36 @@ PREHOOK: Input: default@test2_n2
 POSTHOOK: query: SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  OR test2_n2.key between 100 and 102)
+  OR test1_n4.key between 100 and 102)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    None    102     2       Del
-98     NULL    None    102     2       Del
-99     0       Alice   102     2       Del
-99     2       Mat     102     2       Del
-99     2       Mat     103     2       Ema
 100    1       Bob     102     2       Del
+100    1       Bob     103     2       Ema
+100    1       Bob     104     3       Fli
+100    1       Bob     105     NULL    None
 101    2       Car     102     2       Del
 101    2       Car     103     2       Ema
-NULL   NULL    NULL    104     3       Fli
-NULL   NULL    NULL    105     NULL    None
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
+98     NULL    None    NULL    NULL    NULL
+99     0       Alice   NULL    NULL    NULL
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    None    NULL    NULL    NULL
+Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  AND (test1_n4.key between 100 and 102
-    OR test2_n2.key between 100 and 102))
+  OR test1_n4.key between 100 and 102)
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN
 SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  AND (test1_n4.key between 100 and 102
-    OR test2_n2.key between 100 and 102))
+  OR test1_n4.key between 100 and 102)
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
   Stage-1 is a root stage
@@ -1743,7 +1749,7 @@ STAGE PLANS:
     Tez
 #### A masked pattern was here ####
       Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+        Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Map 3 (CUSTOM_SIMPLE_EDGE)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -1756,11 +1762,9 @@ STAGE PLANS:
                     outputColumnNames: _col0, _col1, _col2
                     Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
-                      key expressions: _col1 (type: int)
-                      sort order: +
-                      Map-reduce partition columns: _col1 (type: int)
+                      sort order: 
                       Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
-                      value expressions: _col0 (type: int), _col2 (type: 
string)
+                      value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: string)
             Execution mode: llap
             LLAP IO: no inputs
         Map 3 
@@ -1773,11 +1777,9 @@ STAGE PLANS:
                     outputColumnNames: _col0, _col1, _col2
                     Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
-                      key expressions: _col1 (type: int)
-                      sort order: +
-                      Map-reduce partition columns: _col1 (type: int)
+                      sort order: 
                       Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
-                      value expressions: _col0 (type: int), _col2 (type: 
string)
+                      value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: string)
             Execution mode: llap
             LLAP IO: no inputs
         Reducer 2 
@@ -1785,16 +1787,16 @@ STAGE PLANS:
             Reduce Operator Tree:
               Merge Join Operator
                 condition map:
-                     Outer Join 0 to 1
+                     Full Outer Join 0 to 1
                 keys:
-                  0 _col1 (type: int)
-                  1 _col1 (type: int)
+                  0 
+                  1 
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                residual filter predicates: {(_col0 BETWEEN 100 AND 102 or 
_col3 BETWEEN 100 AND 102)}
-                Statistics: Num rows: 10 Data size: 191 Basic stats: COMPLETE 
Column stats: COMPLETE
+                residual filter predicates: {((_col1 = _col4) or _col0 BETWEEN 
100 AND 102)}
+                Statistics: Num rows: 24 Data size: 4580 Basic stats: COMPLETE 
Column stats: COMPLETE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 10 Data size: 191 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 24 Data size: 4580 Basic stats: 
COMPLETE Column stats: COMPLETE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1806,11 +1808,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
+Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
 PREHOOK: query: SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  AND (test1_n4.key between 100 and 102
-    OR test2_n2.key between 100 and 102))
+  OR test1_n4.key between 100 and 102)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@test1_n4
 PREHOOK: Input: default@test2_n2
@@ -1818,29 +1820,474 @@ PREHOOK: Input: default@test2_n2
 POSTHOOK: query: SELECT *
 FROM test1_n4 FULL OUTER JOIN test2_n2
 ON (test1_n4.value=test2_n2.value
-  AND (test1_n4.key between 100 and 102
-    OR test2_n2.key between 100 and 102))
+  OR test1_n4.key between 100 and 102)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-NULL   NULL    NULL    105     NULL    None
-NULL   NULL    None    NULL    NULL    NULL
+100    1       Bob     102     2       Del
+100    1       Bob     103     2       Ema
+100    1       Bob     104     3       Fli
+100    1       Bob     105     NULL    None
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+101    2       Car     104     3       Fli
+101    2       Car     105     NULL    None
 98     NULL    None    NULL    NULL    NULL
 99     0       Alice   NULL    NULL    NULL
-100    1       Bob     NULL    NULL    NULL
 99     2       Mat     102     2       Del
-101    2       Car     102     2       Del
-101    2       Car     103     2       Ema
-NULL   NULL    NULL    104     3       Fli
-Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in 
Stage 'Reducer 2' is a cross product
+99     2       Mat     103     2       Ema
+NULL   NULL    None    NULL    NULL    NULL
+Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
-FROM (
-  SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS 
col_1,
-         test2_n2.key AS key2, test2_n2.value AS value2, test2_n2.col_2 AS 
col_2
-  FROM test1_n4 RIGHT OUTER JOIN test2_n2
-  ON (test1_n4.value=test2_n2.value
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Map 3 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: test1_n4
+                  Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      sort order: 
+                      Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: test2_n2
+                  Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      sort order: 
+                      Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Full Outer Join 0 to 1
+                keys:
+                  0 
+                  1 
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                residual filter predicates: {((_col1 = _col4) or _col3 BETWEEN 
100 AND 102)}
+                Statistics: Num rows: 24 Data size: 4580 Basic stats: COMPLETE 
Column stats: COMPLETE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 24 Data size: 4580 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
+PREHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test1_n4
+PREHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test1_n4
+POSTHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+100    1       Bob     102     2       Del
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    NULL    104     3       Fli
+NULL   NULL    NULL    105     NULL    None
+NULL   NULL    None    102     2       Del
+Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
+PREHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Map 3 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: test1_n4
+                  Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      sort order: 
+                      Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: test2_n2
+                  Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      sort order: 
+                      Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Full Outer Join 0 to 1
+                keys:
+                  0 
+                  1 
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                residual filter predicates: {((_col1 = _col4) or _col3 BETWEEN 
100 AND 102)}
+                Statistics: Num rows: 24 Data size: 4580 Basic stats: COMPLETE 
Column stats: COMPLETE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 24 Data size: 4580 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+Warning: Shuffle Join MERGEJOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Reducer 2' is a cross product
+PREHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test1_n4
+PREHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  OR test2_n2.key between 100 and 102)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test1_n4
+POSTHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+100    1       Bob     102     2       Del
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+98     NULL    None    102     2       Del
+99     0       Alice   102     2       Del
+99     2       Mat     102     2       Del
+99     2       Mat     103     2       Ema
+NULL   NULL    NULL    104     3       Fli
+NULL   NULL    NULL    105     NULL    None
+NULL   NULL    None    102     2       Del
+PREHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: test1_n4
+                  Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col1 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col1 (type: int)
+                      Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col2 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: test2_n2
+                  Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col1 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col1 (type: int)
+                      Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col2 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Full Outer Join 0 to 1
+                keys:
+                  0 _col1 (type: int)
+                  1 _col1 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                residual filter predicates: {(_col0 BETWEEN 100 AND 102 or 
_col3 BETWEEN 100 AND 102)}
+                Statistics: Num rows: 10 Data size: 191 Basic stats: COMPLETE 
Column stats: COMPLETE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 10 Data size: 191 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test1_n4
+PREHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test1_n4
+POSTHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+100    1       Bob     NULL    NULL    NULL
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+98     NULL    None    NULL    NULL    NULL
+99     0       Alice   NULL    NULL    NULL
+99     2       Mat     102     2       Del
+NULL   NULL    NULL    104     3       Fli
+NULL   NULL    NULL    105     NULL    None
+NULL   NULL    None    NULL    NULL    NULL
+PREHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: test1_n4
+                  Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col1 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col1 (type: int)
+                      Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col2 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: test2_n2
+                  Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col1 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col1 (type: int)
+                      Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col2 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Full Outer Join 0 to 1
+                keys:
+                  0 _col1 (type: int)
+                  1 _col1 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                residual filter predicates: {(_col0 BETWEEN 100 AND 102 or 
_col3 BETWEEN 100 AND 102)}
+                Statistics: Num rows: 10 Data size: 191 Basic stats: COMPLETE 
Column stats: COMPLETE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 10 Data size: 191 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test1_n4
+PREHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM test1_n4 FULL OUTER JOIN test2_n2
+ON (test1_n4.value=test2_n2.value
+  AND (test1_n4.key between 100 and 102
+    OR test2_n2.key between 100 and 102))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test1_n4
+POSTHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+100    1       Bob     NULL    NULL    NULL
+101    2       Car     102     2       Del
+101    2       Car     103     2       Ema
+98     NULL    None    NULL    NULL    NULL
+99     0       Alice   NULL    NULL    NULL
+99     2       Mat     102     2       Del
+NULL   NULL    NULL    104     3       Fli
+NULL   NULL    NULL    105     NULL    None
+NULL   NULL    None    NULL    NULL    NULL
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in 
Stage 'Reducer 2' is a cross product
+PREHOOK: query: EXPLAIN
+SELECT *
+FROM (
+  SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS 
col_1,
+         test2_n2.key AS key2, test2_n2.value AS value2, test2_n2.col_2 AS 
col_2
+  FROM test1_n4 RIGHT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
     AND (test1_n4.key between 100 and 102
       OR test2_n2.key between 100 and 102))
   ) sq1
@@ -1972,7 +2419,7 @@ STAGE PLANS:
             Reduce Operator Tree:
               Merge Join Operator
                 condition map:
-                     Outer Join 0 to 1
+                     Full Outer Join 0 to 1
                 keys:
                   0 
                   1 
@@ -2038,23 +2485,248 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test1_n4
 POSTHOOK: Input: default@test2_n2
 #### A masked pattern was here ####
-99     2       Mat     102     2       Del     99      0       Alice   NULL    
NULL    NULL
-99     2       Mat     102     2       Del     100     1       Bob     NULL    
NULL    NULL
-101    2       Car     102     2       Del     99      0       Alice   NULL    
NULL    NULL
 101    2       Car     102     2       Del     100     1       Bob     NULL    
NULL    NULL
-101    2       Car     103     2       Ema     99      0       Alice   NULL    
NULL    NULL
+101    2       Car     102     2       Del     99      0       Alice   NULL    
NULL    NULL
 101    2       Car     103     2       Ema     100     1       Bob     NULL    
NULL    NULL
-NULL   NULL    NULL    104     3       Fli     NULL    NULL    None    NULL    
NULL    NULL
-NULL   NULL    NULL    104     3       Fli     98      NULL    None    NULL    
NULL    NULL
-NULL   NULL    NULL    104     3       Fli     99      0       Alice   NULL    
NULL    NULL
-NULL   NULL    NULL    104     3       Fli     99      2       Mat     102     
2       Del
+101    2       Car     103     2       Ema     99      0       Alice   NULL    
NULL    NULL
+99     2       Mat     102     2       Del     100     1       Bob     NULL    
NULL    NULL
+99     2       Mat     102     2       Del     99      0       Alice   NULL    
NULL    NULL
 NULL   NULL    NULL    104     3       Fli     100     1       Bob     NULL    
NULL    NULL
 NULL   NULL    NULL    104     3       Fli     101     2       Car     102     
2       Del
 NULL   NULL    NULL    104     3       Fli     101     2       Car     103     
2       Ema
-NULL   NULL    NULL    105     NULL    None    NULL    NULL    None    NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     98      NULL    None    NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     99      0       Alice   NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     99      2       Mat     102     
2       Del
+NULL   NULL    NULL    104     3       Fli     NULL    NULL    None    NULL    
NULL    NULL
+NULL   NULL    NULL    105     NULL    None    100     1       Bob     NULL    
NULL    NULL
+NULL   NULL    NULL    105     NULL    None    101     2       Car     102     
2       Del
+NULL   NULL    NULL    105     NULL    None    101     2       Car     103     
2       Ema
 NULL   NULL    NULL    105     NULL    None    98      NULL    None    NULL    
NULL    NULL
 NULL   NULL    NULL    105     NULL    None    99      0       Alice   NULL    
NULL    NULL
 NULL   NULL    NULL    105     NULL    None    99      2       Mat     102     
2       Del
+NULL   NULL    NULL    105     NULL    None    NULL    NULL    None    NULL    
NULL    NULL
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in 
Stage 'Reducer 2' is a cross product
+PREHOOK: query: EXPLAIN
+SELECT *
+FROM (
+  SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS 
col_1,
+         test2_n2.key AS key2, test2_n2.value AS value2, test2_n2.col_2 AS 
col_2
+  FROM test1_n4 RIGHT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq1
+FULL OUTER JOIN (
+  SELECT test1_n4.key AS key3, test1_n4.value AS value3, test1_n4.col_1 AS 
col_3,
+         test2_n2.key AS key4, test2_n2.value AS value4, test2_n2.col_2 AS 
col_4
+  FROM test1_n4 LEFT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq2
+ON (sq1.value1 is null or sq2.value4 is null and sq2.value3 != sq1.value2)
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT *
+FROM (
+  SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS 
col_1,
+         test2_n2.key AS key2, test2_n2.value AS value2, test2_n2.col_2 AS 
col_2
+  FROM test1_n4 RIGHT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq1
+FULL OUTER JOIN (
+  SELECT test1_n4.key AS key3, test1_n4.value AS value3, test1_n4.col_1 AS 
col_3,
+         test2_n2.key AS key4, test2_n2.value AS value4, test2_n2.col_2 AS 
col_4
+  FROM test1_n4 LEFT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq2
+ON (sq1.value1 is null or sq2.value4 is null and sq2.value3 != sq1.value2)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Map 1 <- Map 4 (BROADCAST_EDGE)
+        Map 3 <- Map 1 (BROADCAST_EDGE)
+        Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Map 3 (CUSTOM_SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: test1_n4
+                  Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col1 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col1 (type: int)
+                      Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col2 (type: 
string)
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Map Join Operator
+                      condition map:
+                           Left Outer Join 0 to 1
+                      keys:
+                        0 _col1 (type: int)
+                        1 _col1 (type: int)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5
+                      input vertices:
+                        1 Map 4
+                      residual filter predicates: {(_col0 BETWEEN 100 AND 102 
or _col3 BETWEEN 100 AND 102)}
+                      Statistics: Num rows: 8 Data size: 859 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        sort order: 
+                        Statistics: Num rows: 8 Data size: 859 Basic stats: 
COMPLETE Column stats: COMPLETE
+                        value expressions: _col0 (type: int), _col1 (type: 
int), _col2 (type: string), _col3 (type: int), _col4 (type: int), _col5 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: test2_n2
+                  Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Map Join Operator
+                      condition map:
+                           Right Outer Join 0 to 1
+                      keys:
+                        0 _col1 (type: int)
+                        1 _col1 (type: int)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5
+                      input vertices:
+                        0 Map 1
+                      residual filter predicates: {(_col0 BETWEEN 100 AND 102 
or _col3 BETWEEN 100 AND 102)}
+                      Statistics: Num rows: 8 Data size: 856 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        sort order: 
+                        Statistics: Num rows: 8 Data size: 856 Basic stats: 
COMPLETE Column stats: COMPLETE
+                        value expressions: _col0 (type: int), _col1 (type: 
int), _col2 (type: string), _col3 (type: int), _col4 (type: int), _col5 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: test2_n2
+                  Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Reduce Output Operator
+                      key expressions: _col1 (type: int)
+                      sort order: +
+                      Map-reduce partition columns: _col1 (type: int)
+                      Statistics: Num rows: 4 Data size: 380 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      value expressions: _col0 (type: int), _col2 (type: 
string)
+            Execution mode: llap
+            LLAP IO: no inputs
+        Reducer 2 
+            Execution mode: llap
+            Reduce Operator Tree:
+              Merge Join Operator
+                condition map:
+                     Full Outer Join 0 to 1
+                keys:
+                  0 
+                  1 
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11
+                residual filter predicates: {(_col1 is null or (_col10 is null 
and (_col7 <> _col4)))}
+                Statistics: Num rows: 64 Data size: 23107 Basic stats: 
COMPLETE Column stats: COMPLETE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 64 Data size: 23107 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in 
Stage 'Reducer 2' is a cross product
+PREHOOK: query: SELECT *
+FROM (
+  SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS 
col_1,
+         test2_n2.key AS key2, test2_n2.value AS value2, test2_n2.col_2 AS 
col_2
+  FROM test1_n4 RIGHT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq1
+FULL OUTER JOIN (
+  SELECT test1_n4.key AS key3, test1_n4.value AS value3, test1_n4.col_1 AS 
col_3,
+         test2_n2.key AS key4, test2_n2.value AS value4, test2_n2.col_2 AS 
col_4
+  FROM test1_n4 LEFT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq2
+ON (sq1.value1 is null or sq2.value4 is null and sq2.value3 != sq1.value2)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test1_n4
+PREHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM (
+  SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS 
col_1,
+         test2_n2.key AS key2, test2_n2.value AS value2, test2_n2.col_2 AS 
col_2
+  FROM test1_n4 RIGHT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq1
+FULL OUTER JOIN (
+  SELECT test1_n4.key AS key3, test1_n4.value AS value3, test1_n4.col_1 AS 
col_3,
+         test2_n2.key AS key4, test2_n2.value AS value4, test2_n2.col_2 AS 
col_4
+  FROM test1_n4 LEFT OUTER JOIN test2_n2
+  ON (test1_n4.value=test2_n2.value
+    AND (test1_n4.key between 100 and 102
+      OR test2_n2.key between 100 and 102))
+  ) sq2
+ON (sq1.value1 is null or sq2.value4 is null and sq2.value3 != sq1.value2)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test1_n4
+POSTHOOK: Input: default@test2_n2
+#### A masked pattern was here ####
+101    2       Car     102     2       Del     100     1       Bob     NULL    
NULL    NULL
+101    2       Car     102     2       Del     99      0       Alice   NULL    
NULL    NULL
+101    2       Car     103     2       Ema     100     1       Bob     NULL    
NULL    NULL
+101    2       Car     103     2       Ema     99      0       Alice   NULL    
NULL    NULL
+99     2       Mat     102     2       Del     100     1       Bob     NULL    
NULL    NULL
+99     2       Mat     102     2       Del     99      0       Alice   NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     100     1       Bob     NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     101     2       Car     102     
2       Del
+NULL   NULL    NULL    104     3       Fli     101     2       Car     103     
2       Ema
+NULL   NULL    NULL    104     3       Fli     98      NULL    None    NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     99      0       Alice   NULL    
NULL    NULL
+NULL   NULL    NULL    104     3       Fli     99      2       Mat     102     
2       Del
+NULL   NULL    NULL    104     3       Fli     NULL    NULL    None    NULL    
NULL    NULL
 NULL   NULL    NULL    105     NULL    None    100     1       Bob     NULL    
NULL    NULL
 NULL   NULL    NULL    105     NULL    None    101     2       Car     102     
2       Del
 NULL   NULL    NULL    105     NULL    None    101     2       Car     103     
2       Ema
+NULL   NULL    NULL    105     NULL    None    98      NULL    None    NULL    
NULL    NULL
+NULL   NULL    NULL    105     NULL    None    99      0       Alice   NULL    
NULL    NULL
+NULL   NULL    NULL    105     NULL    None    99      2       Mat     102     
2       Del
+NULL   NULL    NULL    105     NULL    None    NULL    NULL    None    NULL    
NULL    NULL

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/llap/mergejoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mergejoin.q.out 
b/ql/src/test/results/clientpositive/llap/mergejoin.q.out
index 1e4f632..b86d822 100644
--- a/ql/src/test/results/clientpositive/llap/mergejoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/mergejoin.q.out
@@ -52,10 +52,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [1]
+                            valueColumns: 1:string
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
@@ -105,10 +105,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [1]
+                            valueColumns: 1:string
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col1 (type: string)
                       Select Operator
@@ -135,10 +135,9 @@ STAGE PLANS:
                             sort order: 
                             Reduce Sink Vectorization:
                                 className: VectorReduceSinkEmptyKeyOperator
-                                keyColumnNums: []
                                 native: true
                                 nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                                valueColumnNums: [0, 1, 2]
+                                valueColumns: 0:string, 1:string, 2:binary
                             Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                             value expressions: _col0 (type: string), _col1 
(type: string), _col2 (type: binary)
             Execution mode: vectorized, llap
@@ -176,6 +175,9 @@ STAGE PLANS:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 4 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -208,10 +210,9 @@ STAGE PLANS:
                   sort order: 
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkEmptyKeyOperator
-                      keyColumnNums: []
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [0, 1, 2]
+                      valueColumns: 0:string, 1:string, 2:binary
                   Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: string), _col1 (type: 
string), _col2 (type: binary)
 
@@ -444,6 +445,9 @@ STAGE PLANS:
                             Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                             value expressions: _col0 (type: bigint)
             Execution mode: llap
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -1535,6 +1539,9 @@ STAGE PLANS:
                           Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                           value expressions: _col0 (type: bigint)
             Execution mode: llap
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 2 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -1655,6 +1662,9 @@ STAGE PLANS:
                           Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                           value expressions: _col0 (type: bigint)
             Execution mode: llap
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -1764,10 +1774,9 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: int)
                       Reduce Sink Vectorization:
                           className: VectorReduceSinkLongOperator
-                          keyColumnNums: [0]
+                          keyColumns: 0:int
                           native: true
                           nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                          valueColumnNums: []
                       Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -1809,10 +1818,9 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: int)
                       Reduce Sink Vectorization:
                           className: VectorReduceSinkLongOperator
-                          keyColumnNums: [0]
+                          keyColumns: 0:int
                           native: true
                           nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                          valueColumnNums: []
                       Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -1837,7 +1845,7 @@ STAGE PLANS:
             Reduce Operator Tree:
               Merge Join Operator
                 condition map:
-                     Outer Join 0 to 1
+                     Full Outer Join 0 to 1
                 keys:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
@@ -1851,6 +1859,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -1971,10 +1982,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col1 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0]
+                            valueColumns: 0:int
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: int)
             Execution mode: vectorized, llap
@@ -2025,10 +2036,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                       Select Operator
                         expressions: _col0 (type: string)
@@ -2054,10 +2064,9 @@ STAGE PLANS:
                             sort order: 
                             Reduce Sink Vectorization:
                                 className: VectorReduceSinkEmptyKeyOperator
-                                keyColumnNums: []
                                 native: true
                                 nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                                valueColumnNums: [0, 1, 2]
+                                valueColumns: 0:string, 1:string, 2:binary
                             Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                             value expressions: _col0 (type: string), _col1 
(type: string), _col2 (type: binary)
             Execution mode: vectorized, llap
@@ -2107,10 +2116,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2159,6 +2167,9 @@ STAGE PLANS:
                       sort order: 
                       Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: binary)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
@@ -2178,6 +2189,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 4 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -2248,10 +2262,9 @@ STAGE PLANS:
                   sort order: 
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkEmptyKeyOperator
-                      keyColumnNums: []
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [0, 1, 2]
+                      valueColumns: 0:int, 1:int, 2:binary
                   Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: binary)
         Reducer 7 
@@ -2286,10 +2299,9 @@ STAGE PLANS:
                   sort order: 
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkEmptyKeyOperator
-                      keyColumnNums: []
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [0, 1, 2]
+                      valueColumns: 0:string, 1:string, 2:binary
                   Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: string), _col1 (type: 
string), _col2 (type: binary)
 
@@ -2369,10 +2381,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2422,10 +2433,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2464,6 +2474,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -2594,6 +2607,9 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: int)
                           Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Map 6 
             Map Operator Tree:
                 TableScan
@@ -2624,10 +2640,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2677,10 +2692,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2719,6 +2733,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 4 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -2819,10 +2836,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2872,10 +2888,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2914,6 +2929,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -3032,10 +3050,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col1 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0]
+                            valueColumns: 0:int
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: int)
             Execution mode: vectorized, llap
@@ -3086,10 +3104,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: string)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkStringOperator
-                            keyColumnNums: [1]
+                            keyColumns: 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                       Select Operator
                         expressions: _col0 (type: string)
@@ -3115,10 +3132,9 @@ STAGE PLANS:
                             sort order: 
                             Reduce Sink Vectorization:
                                 className: VectorReduceSinkEmptyKeyOperator
-                                keyColumnNums: []
                                 native: true
                                 nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                                valueColumnNums: [0, 1, 2]
+                                valueColumns: 0:string, 1:string, 2:binary
                             Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                             value expressions: _col0 (type: string), _col1 
(type: string), _col2 (type: binary)
             Execution mode: vectorized, llap
@@ -3168,10 +3184,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -3220,6 +3235,9 @@ STAGE PLANS:
                       sort order: 
                       Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: binary)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
@@ -3239,6 +3257,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 4 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -3309,10 +3330,9 @@ STAGE PLANS:
                   sort order: 
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkEmptyKeyOperator
-                      keyColumnNums: []
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [0, 1, 2]
+                      valueColumns: 0:int, 1:int, 2:binary
                   Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: int), _col1 (type: int), 
_col2 (type: binary)
         Reducer 7 
@@ -3347,10 +3367,9 @@ STAGE PLANS:
                   sort order: 
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkEmptyKeyOperator
-                      keyColumnNums: []
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [0, 1, 2]
+                      valueColumns: 0:string, 1:string, 2:binary
                   Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: string), _col1 (type: 
string), _col2 (type: binary)
 
@@ -3447,6 +3466,9 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: int)
                           Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: llap
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Map 6 
             Map Operator Tree:
                 TableScan
@@ -3477,10 +3499,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -3530,10 +3551,9 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -3572,6 +3592,9 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: ###Masked### Data size: ###Masked### 
Basic stats: COMPLETE Column stats: COMPLETE
                     value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 4 
             Execution mode: vectorized, llap
             Reduce Vectorization:
@@ -3683,10 +3706,9 @@ STAGE PLANS:
                         sort order: ++
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkObjectHashOperator
-                            keyColumnNums: [0, 1]
+                            keyColumns: 0:int, 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -3735,10 +3757,9 @@ STAGE PLANS:
                         sort order: ++
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkObjectHashOperator
-                            keyColumnNums: [0, 1]
+                            keyColumns: 0:int, 1:string
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: []
                         Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -3786,6 +3807,9 @@ STAGE PLANS:
                       sort order: 
                       Statistics: Num rows: ###Masked### Data size: 
###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col0 (type: bigint)
+            MergeJoin Vectorization:
+                enabled: false
+                enableConditionsNotMet: Vectorizing MergeJoin Supported IS 
false
         Reducer 5 
             Execution mode: vectorized, llap
             Reduce Vectorization:

Reply via email to