You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Li Jianmeng (Jira)" <ji...@apache.org> on 2021/09/10 12:06:00 UTC

[jira] [Created] (SPARK-36717) Incorrect order of variable initialization may lead to incorrect behavior

Li Jianmeng created SPARK-36717:
-----------------------------------

             Summary: Incorrect order of variable initialization may lead to incorrect behavior
                 Key: SPARK-36717
                 URL: https://issues.apache.org/jira/browse/SPARK-36717
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 3.1.2
            Reporter: Li Jianmeng
             Fix For: 3.1.3


Incorrect order of variable initialization may lead to incorrect behavior, Related code: [TorrentBroadcast.scala|https://github.com/apache/spark/blob/0494dc90af48ce7da0625485a4dc6917a244d580/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala#L94] , TorrentBroadCast will get wrong checksumEnabled value after initialization, this may not be what we need, we can move L94 front of setConf(SparkEnv.get.conf) to avoid this.

Supplement:
{code:java}
class Broadcast {
  def setConf(): Unit = {
    checksumEnabled = true
  }
  setConf()
  var checksumEnabled = false
}

println(new Broadcast().checksumEnabled){code}
output:
{code:java}
false{code}
 
{code:java}
class Broadcast {
  var checksumEnabled = false
  def setConf(): Unit = {
    checksumEnabled = true
  }
  setConf()
}

println(new Broadcast().checksumEnabled){code}
output: 
{code:java}
true{code}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org