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 c2a41cb2f405269b91c76497e44e21c33490b889
Author: ConfX <114765570+teamco...@users.noreply.github.com>
AuthorDate: Thu Mar 28 23:04:02 2024 +0800

    HBASE-27993 AbstractFSWAL causes ArithmeticException due to improper 
logRollSize value checking (#5390)
    
    Signed-off-by: Duo Zhang <zhang...@apache.org>
    Signed-off-by: Wei-Chiu Chuang <weic...@apache.org>
    (cherry picked from commit 8be9e51fdf474a94b12aab63332f8bb0344854f6)
---
 .../java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java   | 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java
index e173f1ebe77..cdeb7e84e06 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java
@@ -379,6 +379,9 @@ public abstract class AbstractFSWAL<W extends WriterBase> 
implements WAL {
   }
 
   private int calculateMaxLogFiles(Configuration conf, long logRollSize) {
+    checkArgument(logRollSize > 0,
+      "The log roll size cannot be zero or negative when calculating max log 
files, "
+        + "current value is " + logRollSize);
     Pair<Long, MemoryType> globalMemstoreSize = 
MemorySizeUtil.getGlobalMemStoreSize(conf);
     return (int) ((globalMemstoreSize.getFirst() * 2) / logRollSize);
   }

Reply via email to