From 590633c595c3af75d65c522377328e1ef39fd5e8 Mon Sep 17 00:00:00 2001 From: zhangxinyu1 <342689740@qq.com> Date: Sat, 18 Nov 2017 00:19:16 +0800 Subject: [PATCH] fix bug in method reset of ByteBufferHashTable.java (#5100) --- .../query/groupby/epinephelinae/ByteBufferHashTable.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/ByteBufferHashTable.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/ByteBufferHashTable.java index 07f2a72c823..bcececdfd5c 100644 --- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/ByteBufferHashTable.java +++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/ByteBufferHashTable.java @@ -118,6 +118,10 @@ public class ByteBufferHashTable tableStart = tableArenaSize - maxBuckets * bucketSizeWithHash; int nextBuckets = maxBuckets * 2; while (true) { + long nextBucketsSize = (long) nextBuckets * bucketSizeWithHash; + if (nextBucketsSize > Integer.MAX_VALUE) { + break; + } final int nextTableStart = tableStart - nextBuckets * bucketSizeWithHash; if (nextTableStart > tableArenaSize / 2) { tableStart = nextTableStart;