Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-30325

markPartitionCompleted cause task status inconsistent

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.4.4
    • Fix Version/s: 2.4.5, 3.0.0
    • Component/s: Spark Core
    • Labels:
      None

      Description

      Corner case

      The bugs occurs in the coren case as follows:

      1. The stage occurs for fetchFailed and some task hasn't finished, scheduler will resubmit a new stage as retry with those unfinished tasks.
      2. The unfinished task in origin stage finished and the same task on the new retry stage hasn't finished, it will mark the task partition on the new retry stage as succesuful.
      3. The executor running those 'successful task' crashed, it cause taskSetManager run executorLost to rescheduler the task on the executor, here will cause copiesRunning decreate 1 twice, beause those 'successful task' are not finished, the variable copiesRunning will decreate to -1 as result.
      4. 'dequeueTaskFromList' will use copiesRunning equal 0 as reschedule basis when rescheduler tasks, and now it is -1, can't to reschedule, and the app will hung forever.

        Attachments

        1. image-2019-12-21-17-11-38-565.png
          291 kB
          haiyangyu
        2. image-2019-12-21-17-15-51-512.png
          1.11 MB
          haiyangyu
        3. image-2019-12-21-17-16-40-998.png
          245 kB
          haiyangyu
        4. image-2019-12-21-17-17-42-244.png
          534 kB
          haiyangyu

          Activity

            People

            • Assignee:
              haiyangyu haiyangyu
              Reporter:
              yuhaiyang haiyangyu
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: