Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-25486

Perjob can not recover from checkpoint when zookeeper leader changes

    XMLWordPrintableJSON

Details

    Description

      When the config high-availability.zookeeper.client.tolerate-suspended-connections is default false, the appMaster will failover once zk leader changes. In this case, the old appMaster will clean up all the zk info and the new appMaster will not recover from the latest checkpoint.

      The process is as following:

      1. Start a perJob application.
      2. kill zk's leade node which cause the perJob to suspend.
      3. In MiniDispatcher's function jobReachedTerminalState, shutDownFuture is set to UNKNOWN .
      4. The future is transferred to ClusterEntrypoint, the method is called with cleanupHaData true.
      5. Clean up zk data and exit.
      6. The new appMaster will not find any checkpoints to start and the state is lost.

      Since the job can recover automatically when the zk leader changes, it is reasonable to keep zk info for the coming recovery.

       

      Attachments

        Issue Links

          Activity

            People

              Jiangang Liu
              Jiangang Liu
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: