You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2014/12/13 16:32:17 UTC

svn commit: r1645245 - in /hive/branches/spark/ql/src: java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java test/results/clientpositive/spark/ppd_join4.q.out test/results/clientpositive/spark/smb_mapjoin_25.q.out

Author: xuefu
Date: Sat Dec 13 15:32:17 2014
New Revision: 1645245

URL: http://svn.apache.org/r1645245
Log:
HIVE-8982: IndexOutOfBounds exception in mapjoin [Spark Branch] (Chao via Xuefu)

Modified:
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java?rev=1645245&r1=1645244&r2=1645245&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/exec/HashTableSinkOperator.java Sat Dec 13 15:32:17 2014
@@ -96,12 +96,9 @@ public class HashTableSinkOperator exten
   protected transient MapJoinPersistableTableContainer[] mapJoinTables;
   protected transient MapJoinTableContainerSerDe[] mapJoinTableSerdes;
 
-  private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
-  private static final MapJoinEagerRowContainer EMPTY_ROW_CONTAINER = new MapJoinEagerRowContainer();
-  static {
-    EMPTY_ROW_CONTAINER.addRow(EMPTY_OBJECT_ARRAY);
-  }
-  
+  private final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
+  private final MapJoinEagerRowContainer EMPTY_ROW_CONTAINER = new MapJoinEagerRowContainer();
+
   private long rowNumber = 0;
   protected transient LogHelper console;
   private long hashTableScale;
@@ -121,6 +118,7 @@ public class HashTableSinkOperator exten
     boolean isSilent = HiveConf.getBoolVar(hconf, HiveConf.ConfVars.HIVESESSIONSILENT);
     console = new LogHelper(LOG, isSilent);
     memoryExhaustionHandler = new MapJoinMemoryExhaustionHandler(console, conf.getHashtableMemoryUsage());
+    EMPTY_ROW_CONTAINER.addRow(EMPTY_OBJECT_ARRAY);
 
     // for small tables only; so get the big table position first
     posBigTableAlias = conf.getPosBigTable();

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join4.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join4.q.out?rev=1645245&r1=1645244&r2=1645245&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join4.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join4.q.out Sat Dec 13 15:32:17 2014
@@ -23,7 +23,6 @@ select 'a','b' from dual
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dual
 PREHOOK: Output: default@test_tbl
-Status: Failed
 POSTHOOK: query: insert into table test_tbl
 select 'a','b' from dual
 POSTHOOK: type: QUERY
@@ -126,7 +125,6 @@ where t2.name='c' and t3.id='a'
 PREHOOK: type: QUERY
 PREHOOK: Input: default@test_tbl
 #### A masked pattern was here ####
-Status: Failed
 POSTHOOK: query: select t2.* 
 from
 (select id,name from (select id,name from test_tbl) t1 sort by id) t2

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out?rev=1645245&r1=1645244&r2=1645245&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out Sat Dec 13 15:32:17 2014
@@ -292,7 +292,6 @@ PREHOOK: Input: default@smb_bucket_1
 PREHOOK: Input: default@smb_bucket_2
 PREHOOK: Input: default@smb_bucket_3
 #### A masked pattern was here ####
-Status: Failed
 POSTHOOK: query: select * from (select a.key from smb_bucket_1 a join smb_bucket_2 b on (a.key = b.key) where a.key = 5) t1 left outer join (select c.key from smb_bucket_2 c join smb_bucket_3 d on (c.key = d.key) where c.key=5) t2 on (t1.key=t2.key) where t2.key=5
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@smb_bucket_1