From c655badb5b05f9019ef1ac0564ea51cc4e804e2e Mon Sep 17 00:00:00 2001 From: teamconfx Date: Mon, 11 Sep 2023 23:39:45 +0800 Subject: [PATCH 1/2] add a precondition check that capacity of the bucketcache is positive --- .../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java | 1 + 1 file changed, 1 insertion(+) 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 bc5e7e7c9b9a..ee7a41c5a544 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 @@ -273,6 +273,7 @@ public BucketCache(String ioEngineName, long capacity, int blockSize, int[] buck 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 can not be less than 0"); boolean useStrongRef = conf.getBoolean(STRONG_REF_KEY, STRONG_REF_DEFAULT); if (useStrongRef) { this.offsetLock = new IdReadWriteLockStrongRef<>(); From 34090381252539f1ebcfb634991e9ce99d7375ef Mon Sep 17 00:00:00 2001 From: teamconfx Date: Wed, 20 Mar 2024 16:42:11 -0500 Subject: [PATCH 2/2] include value in the error message --- .../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ee7a41c5a544..6ffc79e5e0a9 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 @@ -273,7 +273,7 @@ public BucketCache(String ioEngineName, long capacity, int blockSize, int[] buck 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 can not be less than 0"); + Preconditions.checkArgument(blockSize > 0, "BucketCache capacity is set to " + blockSize + ", can not be less than 0"); boolean useStrongRef = conf.getBoolean(STRONG_REF_KEY, STRONG_REF_DEFAULT); if (useStrongRef) { this.offsetLock = new IdReadWriteLockStrongRef<>();