You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ku...@apache.org on 2019/10/24 08:08:31 UTC
[hive] branch master updated: HIVE-22330: Maximize smallBuffer
usage in BytesColumnVector (Karen Coppage reviewed by Peter Vary)
This is an automated email from the ASF dual-hosted git repository.
kuczoram pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 0ff2354 HIVE-22330: Maximize smallBuffer usage in BytesColumnVector (Karen Coppage reviewed by Peter Vary)
0ff2354 is described below
commit 0ff23540d1bb9b7550955588051271125b515c35
Author: Karen Coppage <kc...@gmail.com>
AuthorDate: Thu Oct 24 10:07:55 2019 +0200
HIVE-22330: Maximize smallBuffer usage in BytesColumnVector (Karen Coppage reviewed by Peter Vary)
---
.../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.java b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.java
index e386109..1e65449 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.java
@@ -307,11 +307,11 @@ public class BytesColumnVector extends ColumnVector {
if ((nextFree + nextElemLength) > buffer.length) {
int newLength = smallBuffer.length * 2;
while (newLength < nextElemLength) {
- if (newLength < 0) {
- throw new RuntimeException("Overflow of newLength. smallBuffer.length="
- + smallBuffer.length + ", nextElemLength=" + nextElemLength);
+ if (newLength > 0) {
+ newLength *= 2;
+ } else { // integer overflow happened; maximize size of next smallBuffer
+ newLength = Integer.MAX_VALUE;
}
- newLength *= 2;
}
smallBuffer = new byte[newLength];
++bufferAllocationCount;