From ea521654265b71eb097c9662a5537cbabac90c80 Mon Sep 17 00:00:00 2001 From: daugraph Date: Fri, 10 Sep 2021 20:17:35 +0800 Subject: [PATCH] [SPARK-36717][CORE] Incorrect order of variable initialization may lead to incorrect behavior --- .../scala/org/apache/spark/broadcast/TorrentBroadcast.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala b/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala index 1024d9b5060b..e35a079746a6 100644 --- a/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala +++ b/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala @@ -73,6 +73,10 @@ private[spark] class TorrentBroadcast[T: ClassTag](obj: T, id: Long) /** Size of each block. Default value is 4MB. This value is only read by the broadcaster. */ @transient private var blockSize: Int = _ + + /** Whether to generate checksum for blocks or not. */ + private var checksumEnabled: Boolean = false + private def setConf(conf: SparkConf): Unit = { compressionCodec = if (conf.get(config.BROADCAST_COMPRESS)) { Some(CompressionCodec.createCodec(conf)) @@ -90,8 +94,6 @@ private[spark] class TorrentBroadcast[T: ClassTag](obj: T, id: Long) /** Total number of blocks this broadcast variable contains. */ private val numBlocks: Int = writeBlocks(obj) - /** Whether to generate checksum for blocks or not. */ - private var checksumEnabled: Boolean = false /** The checksum for all the blocks. */ private var checksums: Array[Int] = _