(hbase) 01/04: HBASE-27990 BucketCache causes ArithmeticException due to improper blockSize value checking (#5389)

2024-03-28 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit e2d7ec968eacc2c561271ec07a89519945a22a1f
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 
(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 912a3ab524f..855f183b98f 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
@@ -283,6 +283,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");
 boolean useStrongRef = conf.getBoolean(STRONG_REF_KEY, STRONG_REF_DEFAULT);
 if (useStrongRef) {
   this.offsetLock = new IdReadWriteLockStrongRef<>();



(hbase) 01/04: HBASE-27990 BucketCache causes ArithmeticException due to improper blockSize value checking (#5389)

2024-03-28 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 9e1c1cb242eb861806d18444298731b26386e264
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 
(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 42ed74f78bb..728946c1c18 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
@@ -279,6 +279,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];



(hbase) 01/04: HBASE-27990 BucketCache causes ArithmeticException due to improper blockSize value checking (#5389)

2024-03-28 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit c057037e1b533a94a60715b7927acc70f7619997
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 
(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 0f22fb5ce7f..965b9776023 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
@@ -279,6 +279,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];



(hbase) 01/04: HBASE-27990 BucketCache causes ArithmeticException due to improper blockSize value checking (#5389)

2024-03-28 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.5
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit bb094dc33dfb691b69a3b575558a0411592f941a
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 
(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 3da99ddcf78..2854ff598dd 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];



(hbase) 01/04: HBASE-27990 BucketCache causes ArithmeticException due to improper blockSize value checking (#5389)

2024-03-28 Thread zhangduo
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 
(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];