You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/06/05 06:50:18 UTC

svn commit: r1489703 - in /hive/trunk/ql/src: java/org/apache/hadoop/hive/ql/optimizer/physical/SortMergeJoinTaskDispatcher.java java/org/apache/hadoop/hive/ql/plan/MapredWork.java test/results/clientpositive/auto_sortmerge_join_9.q.out

Author: hashutosh
Date: Wed Jun  5 04:50:17 2013
New Revision: 1489703

URL: http://svn.apache.org/r1489703
Log:
HIVE-4526 : auto_sortmerge_join_9.q throws NPE but test is succeeded (Navis via Ashutosh Chauhan)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SortMergeJoinTaskDispatcher.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java
    hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SortMergeJoinTaskDispatcher.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SortMergeJoinTaskDispatcher.java?rev=1489703&r1=1489702&r2=1489703&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SortMergeJoinTaskDispatcher.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SortMergeJoinTaskDispatcher.java Wed Jun  5 04:50:17 2013
@@ -118,17 +118,10 @@ public class SortMergeJoinTaskDispatcher
 
       PartitionDesc partitionInfo = currWork.getAliasToPartnInfo().get(alias);
       if (fetchWork.getTblDir() != null) {
-        ArrayList<String> aliases = new ArrayList<String>();
-        aliases.add(alias);
-        currWork.getPathToAliases().put(fetchWork.getTblDir(), aliases);
-        currWork.getPathToPartitionInfo().put(fetchWork.getTblDir(), partitionInfo);
-      }
-      else {
+        currWork.mergeAliasedInput(alias, fetchWork.getTblDir(), partitionInfo);
+      } else {
         for (String pathDir : fetchWork.getPartDir()) {
-          ArrayList<String> aliases = new ArrayList<String>();
-          aliases.add(alias);
-          currWork.getPathToAliases().put(pathDir, aliases);
-          currWork.getPathToPartitionInfo().put(pathDir, partitionInfo);
+          currWork.mergeAliasedInput(alias, pathDir, partitionInfo);
         }
       }
     }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java?rev=1489703&r1=1489702&r2=1489703&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapredWork.java Wed Jun  5 04:50:17 2013
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.plan;
 
 import java.io.ByteArrayOutputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -223,6 +224,17 @@ public class MapredWork extends Abstract
     this.aliasToWork = aliasToWork;
   }
 
+  public void mergeAliasedInput(String alias, String pathDir, PartitionDesc partitionInfo) {
+    ArrayList<String> aliases = pathToAliases.get(pathDir);
+    if (aliases == null) {
+      aliases = new ArrayList<String>(Arrays.asList(alias));
+      pathToAliases.put(pathDir, aliases);
+      pathToPartitionInfo.put(pathDir, partitionInfo);
+    } else {
+      aliases.add(alias);
+    }
+  }
+
   /**
    * @return the mapredLocalWork
    */

Modified: hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out?rev=1489703&r1=1489702&r2=1489703&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out Wed Jun  5 04:50:17 2013
@@ -4765,18 +4765,6 @@ PREHOOK: query: select count(*) from 
 PREHOOK: type: QUERY
 PREHOOK: Input: default@tbl1
 #### A masked pattern was here ####
-Execution failed with exit status: 2
-Obtaining error information
-
-Task failed!
-Task ID:
-  Stage-7
-
-Logs:
-
-#### A masked pattern was here ####
-FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapredLocalTask
-ATTEMPT: Execute BackupTask: org.apache.hadoop.hive.ql.exec.MapRedTask
 POSTHOOK: query: select count(*) from 
   (
   select * from
@@ -6137,18 +6125,6 @@ PREHOOK: type: QUERY
 PREHOOK: Input: default@tbl1
 PREHOOK: Input: default@tbl2
 #### A masked pattern was here ####
-Execution failed with exit status: 2
-Obtaining error information
-
-Task failed!
-Task ID:
-  Stage-10
-
-Logs:
-
-#### A masked pattern was here ####
-FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapredLocalTask
-ATTEMPT: Execute BackupTask: org.apache.hadoop.hive.ql.exec.MapRedTask
 POSTHOOK: query: select count(*) from 
   (select a.key as key, a.value as value from tbl1 a where key < 6) subq1 
     join