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); }