Перезапускается ли вся работа в случае сбоя одной задачи

У меня есть работа, в которой есть операторы с отслеживанием состояния, а также включены контрольные точки. Одна из задач оператора staful по какой-то причине не удалась и была перезапущена и восстановила состояние контрольной точки.

Я бы спросил, что из следующего является поведением перезапуска:

  1. только неудачная задача перезапускается и восстанавливается
  2. все задачи оператора (содержащие неудачную задачу) перезапускаются и восстанавливаются
  3. вся работа перезапускается и восстанавливается
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
917
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Перезапускается ли вся работа в случае сбоя одной задачи?

tldr: для потоковой передачи обычно ответ положительный, но не обязательно.

Восстановление задания потоковой передачи Flink включает в себя перемотку источников до смещений, записанных в контрольной точке, и сброс состояния до того состояния, которое было после использования только данных до этих смещений.

Перезапуск только неудачной задачи привел бы к несогласованности и сделал бы невозможным предоставление семантики ровно один раз, если только у неудачной задачи не было зависимостей от каких-либо вышестоящих задач и от нее не зависели нижестоящие задачи.

Что может сделать Flink, так это восстановить состояние и перезапустить обработку на основе областей аварийного переключения, которые учитывают эти зависимости в графе заданий. В случае с потоковым заданием, только если задание является досадно параллельным, можно сделать меньше, чем восстановление и перезапуск всего задания. Таким образом, в случае досадно параллельного задания восстанавливается и перезапускается только сбойный регион (включая все его подзадачи от источника до приемника), в то время как другие регионы продолжают работать.

Этот подход используется, если для jobmanager.execution.failover-strategy установлено значение region, которое используется по умолчанию, начиная с Flink 1.10.

Чтобы узнать больше об этом, см. FLIP-1: Детальное восстановление после сбоев задач и Объявление о выпуске Apache Flink 1.9.0, где эта функция была представлена.

спасибо @david-anderson за четкий ответ1

Tom 21.12.2020 04:11

Другие вопросы по теме