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