From c8b6207eb7e02ae56e62d8d2009cf0bf5352cca6 Mon Sep 17 00:00:00 2001 From: confx Date: Wed, 13 Sep 2023 20:41:47 -0400 Subject: [PATCH] fix --- .../src/main/java/org/apache/hadoop/fs/FSOutputSummer.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java index 4ef512dc257a3..7de6135d030d8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java @@ -22,6 +22,7 @@ import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.util.DataChecksum; import org.apache.hadoop.tracing.TraceScope; +import org.apache.hadoop.util.Preconditions; import java.io.IOException; import java.io.OutputStream; @@ -52,6 +53,9 @@ abstract public class FSOutputSummer extends OutputStream implements protected FSOutputSummer(DataChecksum sum) { this.sum = sum; + Preconditions.checkArgument( + sum.getBytesPerChecksum() * BUFFER_NUM_CHUNKS > 0, + "Buffer size for FSOutputSummer should be a positive integer."); this.buf = new byte[sum.getBytesPerChecksum() * BUFFER_NUM_CHUNKS]; this.checksum = new byte[getChecksumSize() * BUFFER_NUM_CHUNKS]; this.count = 0;