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 7d960c6bf01322e29d71b9ab3a780c874a2ab5f4
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 b7d045d0647..36061e691dc 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
@@ -373,6 +373,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