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