Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-2491 Support Checkpoints After Tasks Finished
  3. FLINK-23772

Double check if non-keyed FullyFinishedOperatorState can be mixed up with non finished OperatorState on recovery

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Not A Problem
    • 1.14.0
    • 1.14.0
    • None

    Description

      I'm not sure if with non-keyed state we have an issue that it can be reshuffled to different operators during recovery. Are there any guarantees that if subtask 1 has state A, while subtask 2 has B, that after recovery it won’t be rotated?

      1. is this an issue?
      2. if so, if we have partially finished tasks with some operators having, FullyFinishedOperatorState, what prevents VerticesFinishedCache.calculateIfFinished from failing if the FullyFinishedOperatorState gets assigned to an operator chain with non finished operator?

      For example an operator chain with parallelism of two, non-keyed, before recovery:

      src1 (finished state) -> foo1 (finished state)
      src2 -> foo2
      

      Can we end up after recovery with:

      src1 (finished state) -> foo2
      src2 -> foo1 (finished state)
      

      ?

      Attachments

        Activity

          People

            Unassigned Unassigned
            pnowojski Piotr Nowojski
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: