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