From e7c425d1b26d4a4ae225053fbd0bebd46feb4fae Mon Sep 17 00:00:00 2001 From: beliefer Date: Wed, 29 Oct 2025 18:16:13 +0800 Subject: [PATCH] [SPARK-51756][CORE][FOLLOWUP] Avoid the risk of overflow of long --- .../org/apache/spark/shuffle/checksum/RowBasedChecksum.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/org/apache/spark/shuffle/checksum/RowBasedChecksum.scala b/core/src/main/java/org/apache/spark/shuffle/checksum/RowBasedChecksum.scala index 886296dc8a828..fe0230e466de4 100644 --- a/core/src/main/java/org/apache/spark/shuffle/checksum/RowBasedChecksum.scala +++ b/core/src/main/java/org/apache/spark/shuffle/checksum/RowBasedChecksum.scala @@ -74,7 +74,7 @@ abstract class RowBasedChecksum() extends Serializable with Logging { object RowBasedChecksum { def getAggregatedChecksumValue(rowBasedChecksums: Array[RowBasedChecksum]): Long = { Option(rowBasedChecksums) - .map(_.foldLeft(0L)((acc, c) => acc * 31L + c.getValue)) + .map(_.foldLeft(0L)((acc, c) => (acc * 31L + c.getValue) & Long.MaxValue)) .getOrElse(0L) } }