Flynn: контроллер, планировщик: исправить ограничение дублирования событий задания

Созданный на 9 сент. 2016  ·  4Комментарии  ·  Источник: flynn/flynn

В настоящее время мы создаем только одно событие для каждого идентификатора задания и состояния (см. Здесь ), но возможно, что задание войдет в определенное состояние дважды.

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

Пара вариантов:

  • отказаться от ограничения уникальности (нужно подумать, предполагает ли что-нибудь, что события не будут дублироваться)
  • когда планировщик отмечает задания как неработающие, просто остановите их, если они снова появятся, так как задания замены уже были запущены

@titanous @josephglanville @jvatic мысли?

componencontroller componenscheduler kinbug

Самый полезный комментарий

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

Все 4 Комментарий

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

Думаю, это правильный ответ.

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

@titanous Не думаю, что добавление нового состояния для заданий на отключенных хостах действительно поможет.

Когда планировщик повторно подключается к хосту, задания которого ранее были помечены как остановленные (или переведены в какое-либо другое состояние, например unknown ), ему все равно необходимо принять решение, просто остановить любые задания, которые все еще выполняются, или попытаться и пометить их как работающие снова (что приведет к дублированию событий up в контроллере).

Я думаю, нам следует сразу же прекратить работу после повторного подключения.

Флинн не обслуживается, и наша инфраструктура будет закрыта 1 июня 2021 года. Подробности см. В README .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

titanous picture titanous  ·  4Комментарии

deviousgeek picture deviousgeek  ·  7Комментарии

tuukkamustonen picture tuukkamustonen  ·  5Комментарии

stela5 picture stela5  ·  5Комментарии

qwyang picture qwyang  ·  3Комментарии