Github user tgravescs commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22221#discussion_r213071006
  
    --- Diff: 
core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala ---
    @@ -465,7 +465,7 @@ private[spark] class TaskSchedulerImpl(
         var reason: Option[ExecutorLossReason] = None
         synchronized {
           try {
    -        taskIdToTaskSetManager.get(tid) match {
    +        Option(taskIdToTaskSetManager.get(tid)) match {
    --- End diff --
    
    yes as far as I can see its safe.  If the get happened before its removed 
it calculates the accumulators, if its after its removed it just gets an empty 
array back.  This isn't any different then when it was synchronized.   There is 
nothing in the statusUpdate between the get and call to cleanupTaskState where 
it removes that I see depends on accumulators or anything else.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to