You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2024/03/28 15:04:08 UTC

(hbase) branch master updated: HBASE-27993 AbstractFSWAL causes ArithmeticException due to improper logRollSize value checking (#5390)

This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
     new 8be9e51fdf4 HBASE-27993 AbstractFSWAL causes ArithmeticException due to improper logRollSize value checking (#5390)
8be9e51fdf4 is described below

commit 8be9e51fdf474a94b12aab63332f8bb0344854f6
Author: ConfX <11...@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 <zh...@apache.org>
    Signed-off-by: Wei-Chiu Chuang <we...@apache.org>
---
 .../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 a94d827e8e2..7a057ca7c7b 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
@@ -476,6 +476,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);
   }