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

    https://github.com/apache/spark/pull/21656#discussion_r200366359
  
    --- Diff: 
core/src/main/scala/org/apache/spark/scheduler/TaskSetManager.scala ---
    @@ -772,6 +772,12 @@ private[spark] class TaskSetManager(
       private[scheduler] def markPartitionCompleted(partitionId: Int): Unit = {
         partitionToIndex.get(partitionId).foreach { index =>
           if (!successful(index)) {
    +        if (speculationEnabled) {
    --- End diff --
    
    IIUC in this case no task in this taskSet actually successfully finishes, 
it's another task attempt from another taskSet for the same stage that 
succeeded. In stead of changing this code path, I'd suggest we have another 
flag to show whether any task succeeded in current taskSet, and if no task have 
succeeded, skip L987.
    
    WDYT @squito ?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to