JDB C в настоящее время поддерживает только один раз, что означает, что вы получите повторяющиеся сообщения после восстановления. В настоящее время существует черновой вариант добавления поддержки ровно один раз , который, вероятно, будет выпущен с 1.11.
Разве контрольные точки не должны помочь восстановлению задания с того места, где оно осталось?
Да, но время между последними успешными контрольными точками и восстановлением может привести к наблюдаемым дубликатам. Я дал более подробный ответ по несколько связанным темам c.
Должен ли я пройти контрольную точку до того, как я (развернут) развернул новое задание?
Абсолютно. На самом деле вы должны использовать отмену с точкой сохранения. Это единственный надежный способ изменить топологию. Кроме того, отмена с помощью точек сохранения позволяет избежать дублирования данных, поскольку оно корректно завершает работу.
Что произойдет, если работа завершится с ошибкой или сбоем кластера?
It должен автоматически перезагрузиться (в зависимости от настроек перезапуска). Это будет использовать последнюю контрольную точку для восстановления. Это наверняка приведет к дубликатам.
Как происходит восстановление при каждом развертывании, как происходит восстановление?
Обычно вы явно указываете на один и тот же каталог контрольных точек (на S3?).
Поскольку я не могу ожидать идемпотентность от базы данных, разве это единственный способ добиться обработки точно-однократно?
В настоящее время я этого не делаю увидеть способ обойти это. Должно измениться с 1.11.