This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch branch-2.4 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 81e43855312578902b333694ae9606b9619ce4ef Author: ConfX <114765570+teamco...@users.noreply.github.com> AuthorDate: Thu Mar 28 23:01:23 2024 +0800 HBASE-27990 BucketCache causes ArithmeticException due to improper blockSize value checking (#5389) Signed-off-by: Duo Zhang <zhang...@apache.org> (cherry picked from commit 5a0c4de66b16281b25fd14bfbe2ee60d0657b8a3) --- .../main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java index 10469fb8a41..7676327055d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java @@ -255,6 +255,8 @@ public class BucketCache implements BlockCache, HeapSize { public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes, int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration, Configuration conf) throws IOException { + Preconditions.checkArgument(blockSize > 0, + "BucketCache capacity is set to " + blockSize + ", can not be less than 0"); this.algorithm = conf.get(FILE_VERIFY_ALGORITHM, DEFAULT_FILE_VERIFY_ALGORITHM); this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath); this.writerThreads = new WriterThread[writerThreadNum];