You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2013/11/13 03:58:06 UTC

svn commit: r1541369 - /hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java

Author: gunther
Date: Wed Nov 13 02:58:06 2013
New Revision: 1541369

URL: http://svn.apache.org/r1541369
Log:
HIVE-5808: broadcast join in tez discards duplicate records from the broadcasted table (Thejas M Nair via Gunther Hagleitner)

Modified:
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java

Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java?rev=1541369&r1=1541368&r2=1541369&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java Wed Nov 13 02:58:06 2013
@@ -81,9 +81,13 @@ public class HashTableLoader implements 
         while (kvReader.next()) {
           MapJoinKey key = new MapJoinKey();
           key.read(mapJoinTableSerdes[pos].getKeyContext(), (Writable)kvReader.getCurrentKey());
-          MapJoinRowContainer values = new MapJoinRowContainer();
+          
+          MapJoinRowContainer values = tableContainer.get(key);
+          if(values == null){
+        	  values = new MapJoinRowContainer();
+        	  tableContainer.put(key, values);
+          }
           values.read(mapJoinTableSerdes[pos].getValueContext(), (Writable)kvReader.getCurrentValue());
-          tableContainer.put(key, values);
         }
 
         mapJoinTables[pos] = tableContainer;