Author: szehon
Date: Mon Dec 22 19:49:05 2014
New Revision: 1647389

URL: http://svn.apache.org/r1647389
Log:
HIVE-9173 : Fix auto_join29.q, auto_join_without_localtask.q determinism (Jimmy 
Xiang via Szehon)

Modified:
    hive/trunk/ql/src/test/queries/clientpositive/auto_join29.q
    hive/trunk/ql/src/test/queries/clientpositive/auto_join_without_localtask.q
    hive/trunk/ql/src/test/results/clientpositive/auto_join29.q.out
    
hive/trunk/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out

Modified: hive/trunk/ql/src/test/queries/clientpositive/auto_join29.q
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/auto_join29.q?rev=1647389&r1=1647388&r2=1647389&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/auto_join29.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/auto_join29.q Mon Dec 22 
19:49:05 2014
@@ -1,4 +1,7 @@
 set hive.auto.convert.join = true;
+
+-- SORT_QUERY_RESULTS
+
 explain
 SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND 
src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = 
src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, 
src3.key, src3.value;
 

Modified: 
hive/trunk/ql/src/test/queries/clientpositive/auto_join_without_localtask.q
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/auto_join_without_localtask.q?rev=1647389&r1=1647388&r2=1647389&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/auto_join_without_localtask.q 
(original)
+++ hive/trunk/ql/src/test/queries/clientpositive/auto_join_without_localtask.q 
Mon Dec 22 19:49:05 2014
@@ -17,13 +17,13 @@ select a.* from src a join src b on a.ke
 set hive.auto.convert.join.noconditionaltask.size=100;
 
 explain
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40;
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40;
 
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40;
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40;
 
 set hive.mapjoin.localtask.max.memory.usage = 0.0001;
 set hive.mapjoin.check.memory.rows = 2;
 
 -- fallback to common join
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40;
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40;
 

Modified: hive/trunk/ql/src/test/results/clientpositive/auto_join29.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/auto_join29.q.out?rev=1647389&r1=1647388&r2=1647389&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/auto_join29.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/auto_join29.q.out Mon Dec 22 
19:49:05 2014
@@ -1,7 +1,11 @@
-PREHOOK: query: explain
+PREHOOK: query: -- SORT_QUERY_RESULTS
+
+explain
 SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND 
src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = 
src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, 
src3.key, src3.value
 PREHOOK: type: QUERY
-POSTHOOK: query: explain
+POSTHOOK: query: -- SORT_QUERY_RESULTS
+
+explain
 SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND 
src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = 
src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, 
src3.key, src3.value
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
@@ -1952,6 +1956,28 @@ POSTHOOK: query: SELECT * FROM src src1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    0       val_0   0       val_0
+NULL   NULL    2       val_2   2       val_2
+NULL   NULL    4       val_4   4       val_4
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    5       val_5   5       val_5
+NULL   NULL    8       val_8   8       val_8
+NULL   NULL    9       val_9   9       val_9
 NULL   NULL    NULL    NULL    10      val_10
 NULL   NULL    NULL    NULL    100     val_100
 NULL   NULL    NULL    NULL    100     val_100
@@ -2442,28 +2468,6 @@ NULL     NULL    NULL    NULL    97      val_97
 NULL   NULL    NULL    NULL    97      val_97
 NULL   NULL    NULL    NULL    98      val_98
 NULL   NULL    NULL    NULL    98      val_98
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    0       val_0   0       val_0
-NULL   NULL    2       val_2   2       val_2
-NULL   NULL    4       val_4   4       val_4
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    5       val_5   5       val_5
-NULL   NULL    8       val_8   8       val_8
-NULL   NULL    9       val_9   9       val_9
 PREHOOK: query: explain
 SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 
AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND 
src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, 
src3.value
 PREHOOK: type: QUERY

Modified: 
hive/trunk/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out?rev=1647389&r1=1647388&r2=1647389&view=diff
==============================================================================
--- 
hive/trunk/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out 
(original)
+++ 
hive/trunk/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out 
Mon Dec 22 19:49:05 2014
@@ -612,30 +612,31 @@ RUN: Stage-3:MAPRED
 103    val_103
 103    val_103
 PREHOOK: query: explain
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40
 PREHOOK: type: QUERY
 POSTHOOK: query: explain
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-9 is a root stage , consists of Stage-12, Stage-13, Stage-2
-  Stage-12 has a backup stage: Stage-2
-  Stage-7 depends on stages: Stage-12
-  Stage-6 depends on stages: Stage-2, Stage-7, Stage-8 , consists of Stage-4, 
Stage-11, Stage-1
-  Stage-4 has a backup stage: Stage-1
-  Stage-11 has a backup stage: Stage-1
-  Stage-5 depends on stages: Stage-11
-  Stage-1
-  Stage-13 has a backup stage: Stage-2
+  Stage-10 is a root stage , consists of Stage-13, Stage-14, Stage-3
+  Stage-13 has a backup stage: Stage-3
   Stage-8 depends on stages: Stage-13
-  Stage-2
-  Stage-0 depends on stages: Stage-4, Stage-5, Stage-1
+  Stage-7 depends on stages: Stage-3, Stage-8, Stage-9 , consists of Stage-5, 
Stage-12, Stage-1
+  Stage-5 has a backup stage: Stage-1
+  Stage-2 depends on stages: Stage-1, Stage-5, Stage-6
+  Stage-12 has a backup stage: Stage-1
+  Stage-6 depends on stages: Stage-12
+  Stage-1
+  Stage-14 has a backup stage: Stage-3
+  Stage-9 depends on stages: Stage-14
+  Stage-3
+  Stage-0 depends on stages: Stage-2
 
 STAGE PLANS:
-  Stage: Stage-9
+  Stage: Stage-10
     Conditional Operator
 
-  Stage: Stage-12
+  Stage: Stage-13
     Map Reduce Local Work
       Alias -> Map Local Tables:
         $hdt$_0:$hdt$_1:$hdt$_2:a 
@@ -655,7 +656,7 @@ STAGE PLANS:
                     0 _col0 (type: string)
                     1 _col0 (type: string)
 
-  Stage: Stage-7
+  Stage: Stage-8
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -681,10 +682,10 @@ STAGE PLANS:
       Local Work:
         Map Reduce Local Work
 
-  Stage: Stage-6
+  Stage: Stage-7
     Conditional Operator
 
-  Stage: Stage-4
+  Stage: Stage-5
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -704,14 +705,12 @@ STAGE PLANS:
                   Select Operator
                     expressions: _col1 (type: string), _col2 (type: string)
                     outputColumnNames: _col0, _col1
-                    Limit
-                      Number of rows: 40
-                      File Output Operator
-                        compressed: false
-                        table:
-                            input format: 
org.apache.hadoop.mapred.TextInputFormat
-                            output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                            serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    File Output Operator
+                      compressed: false
+                      table:
+                          input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                          output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                          serde: 
org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
       Local Work:
         Map Reduce Local Work
           Alias -> Map Local Tables:
@@ -722,7 +721,31 @@ STAGE PLANS:
             $hdt$_0:$INTNAME 
               TableScan
 
-  Stage: Stage-11
+  Stage: Stage-2
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            Reduce Output Operator
+              key expressions: _col0 (type: string), _col1 (type: string)
+              sort order: ++
+              Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE 
Column stats: NONE
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 
(type: string)
+          outputColumnNames: _col0, _col1
+          Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE 
Column stats: NONE
+          Limit
+            Number of rows: 40
+            Statistics: Num rows: 40 Data size: 400 Basic stats: COMPLETE 
Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 40 Data size: 400 Basic stats: COMPLETE 
Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-12
     Map Reduce Local Work
       Alias -> Map Local Tables:
         $hdt$_0:$hdt$_0:a 
@@ -742,7 +765,7 @@ STAGE PLANS:
                     0 _col0 (type: string)
                     1 _col1 (type: string)
 
-  Stage: Stage-5
+  Stage: Stage-6
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -756,14 +779,12 @@ STAGE PLANS:
               Select Operator
                 expressions: _col1 (type: string), _col2 (type: string)
                 outputColumnNames: _col0, _col1
-                Limit
-                  Number of rows: 40
-                  File Output Operator
-                    compressed: false
-                    table:
-                        input format: org.apache.hadoop.mapred.TextInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                File Output Operator
+                  compressed: false
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: 
org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
       Local Work:
         Map Reduce Local Work
 
@@ -805,18 +826,14 @@ STAGE PLANS:
             expressions: _col1 (type: string), _col2 (type: string)
             outputColumnNames: _col0, _col1
             Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE 
Column stats: NONE
-            Limit
-              Number of rows: 40
-              Statistics: Num rows: 40 Data size: 400 Basic stats: COMPLETE 
Column stats: NONE
-              File Output Operator
-                compressed: false
-                Statistics: Num rows: 40 Data size: 400 Basic stats: COMPLETE 
Column stats: NONE
-                table:
-                    input format: org.apache.hadoop.mapred.TextInputFormat
-                    output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+            File Output Operator
+              compressed: false
+              table:
+                  input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                  output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                  serde: 
org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
 
-  Stage: Stage-13
+  Stage: Stage-14
     Map Reduce Local Work
       Alias -> Map Local Tables:
         $hdt$_0:$hdt$_1:$hdt$_1:a 
@@ -836,7 +853,7 @@ STAGE PLANS:
                     0 _col0 (type: string)
                     1 _col0 (type: string)
 
-  Stage: Stage-8
+  Stage: Stage-9
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -862,7 +879,7 @@ STAGE PLANS:
       Local Work:
         Map Reduce Local Work
 
-  Stage: Stage-2
+  Stage: Stage-3
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -918,62 +935,63 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select a.* from src a join src b on a.key=b.key join src c on 
a.value=c.value where a.key>100 limit 40
+PREHOOK: query: select a.* from src a join src b on a.key=b.key join src c on 
a.value=c.value where a.key>100 order by a.key, a.value limit 40
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
 #### A masked pattern was here ####
-POSTHOOK: query: select a.* from src a join src b on a.key=b.key join src c on 
a.value=c.value where a.key>100 limit 40
+POSTHOOK: query: select a.* from src a join src b on a.key=b.key join src c on 
a.value=c.value where a.key>100 order by a.key, a.value limit 40
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-RUN: Stage-9:CONDITIONAL
+RUN: Stage-10:CONDITIONAL
+RUN: Stage-14:MAPREDLOCAL
+RUN: Stage-9:MAPRED
+RUN: Stage-7:CONDITIONAL
 RUN: Stage-12:MAPREDLOCAL
-RUN: Stage-7:MAPRED
-RUN: Stage-6:CONDITIONAL
-RUN: Stage-11:MAPREDLOCAL
-RUN: Stage-5:MAPRED
-238    val_238
-238    val_238
-238    val_238
-238    val_238
-311    val_311
-311    val_311
-311    val_311
-311    val_311
-311    val_311
-311    val_311
-311    val_311
-311    val_311
-311    val_311
-165    val_165
-165    val_165
-165    val_165
-165    val_165
-409    val_409
-409    val_409
-409    val_409
-409    val_409
-409    val_409
-409    val_409
-409    val_409
-409    val_409
-409    val_409
-255    val_255
-255    val_255
-255    val_255
-255    val_255
-278    val_278
-278    val_278
-278    val_278
-278    val_278
-484    val_484
-265    val_265
-265    val_265
-265    val_265
-265    val_265
-193    val_193
+RUN: Stage-6:MAPRED
+RUN: Stage-2:MAPRED
+103    val_103
+103    val_103
+103    val_103
+103    val_103
+103    val_103
+103    val_103
+103    val_103
+103    val_103
+104    val_104
+104    val_104
+104    val_104
+104    val_104
+104    val_104
+104    val_104
+104    val_104
+104    val_104
+105    val_105
+111    val_111
+113    val_113
+113    val_113
+113    val_113
+113    val_113
+113    val_113
+113    val_113
+113    val_113
+113    val_113
+114    val_114
+116    val_116
+118    val_118
+118    val_118
+118    val_118
+118    val_118
+118    val_118
+118    val_118
+118    val_118
+118    val_118
+119    val_119
+119    val_119
+119    val_119
+119    val_119
 PREHOOK: query: -- fallback to common join
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
 #### A masked pattern was here ####
@@ -982,16 +1000,17 @@ ATTEMPT: Execute BackupTask: org.apache.
 FAILED: Execution Error, return code 3 from 
org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
 ATTEMPT: Execute BackupTask: org.apache.hadoop.hive.ql.exec.mr.MapRedTask
 POSTHOOK: query: -- fallback to common join
-select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 limit 40
+select a.* from src a join src b on a.key=b.key join src c on a.value=c.value 
where a.key>100 order by a.key, a.value limit 40
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-RUN: Stage-9:CONDITIONAL
+RUN: Stage-10:CONDITIONAL
+RUN: Stage-14:MAPREDLOCAL
+RUN: Stage-3:MAPRED
+RUN: Stage-7:CONDITIONAL
 RUN: Stage-12:MAPREDLOCAL
-RUN: Stage-2:MAPRED
-RUN: Stage-6:CONDITIONAL
-RUN: Stage-11:MAPREDLOCAL
 RUN: Stage-1:MAPRED
+RUN: Stage-2:MAPRED
 103    val_103
 103    val_103
 103    val_103


Reply via email to