You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2015/08/18 00:00:47 UTC

[17/50] [abbrv] hive git commit: HIVE-11449: "Capacity must be a power of two" error when HybridHashTableContainer memory threshold is too low (Jason Dere, reviewed by Sergey Shelukhin)

HIVE-11449: "Capacity must be a power of two" error when HybridHashTableContainer memory threshold is too low (Jason Dere, reviewed by Sergey Shelukhin)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/2ee30c48
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/2ee30c48
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/2ee30c48

Branch: refs/heads/hbase-metastore
Commit: 2ee30c4859cd3427f0c74af536657d149cbad361
Parents: 763cb02
Author: Jason Dere <jd...@hortonworks.com>
Authored: Tue Aug 11 17:07:47 2015 -0700
Committer: Jason Dere <jd...@hortonworks.com>
Committed: Tue Aug 11 17:07:47 2015 -0700

----------------------------------------------------------------------
 .../hadoop/hive/ql/exec/persistence/HybridHashTableContainer.java  | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/2ee30c48/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/HybridHashTableContainer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/HybridHashTableContainer.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/HybridHashTableContainer.java
index 0a6461f..ad1246d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/HybridHashTableContainer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/HybridHashTableContainer.java
@@ -118,6 +118,8 @@ public class HybridHashTableContainer
     public HashPartition(int threshold, float loadFactor, int wbSize, long memUsage,
                          boolean createHashMap) {
       if (createHashMap) {
+        // Hash map should be at least the size of our designated wbSize
+        memUsage = Math.max(memUsage, wbSize);
         hashMap = new BytesBytesMultiHashMap(threshold, loadFactor, wbSize, memUsage);
       } else {
         hashMapSpilledOnCreation = true;