Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-10429 Redesign Flink Scheduling, introducing dedicated Scheduler component
  3. FLINK-14236

Make LazyFromSourcesSchedulingStrategy do lazy scheduling based on partition state only

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Won't Do
    • 1.10.0
    • None
    • Runtime / Coordination
    • None

    Description

      The philosophy of lazy_from_sources scheduling is to schedule a task when its inputs are ready, i.e. when needed result partitions are consumable. It actually does not directly care whether a task is finished, though a finished task will lead its partitions to be consumable.

      The LazyFromSourcesSchedulingStrategy currently does lazy scheduling in two ways:
      1. trigger scheduling on FINISHED execution state for blocking partition consumers
      2. trigger scheduling on partition consumable events for pipelined partition consumers
      This makes the scheduling decision a bit messy. And it also requires the LazyFromSourcesSchedulingStrategy to manage the partition state by itself, to decide when a partition is consumable, which is not good.

      I'd propose to make LazyFromSourcesSchedulingStrategy do lazy scheduling only based on partition state. This can make the scheduling decision making clearer and relieve LazyFromSourcesSchedulingStrategy from partition state management.

      This work requires FLINK-14234 so that all partition consumable events can be notified.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              zhuzh Zhu Zhu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: