2015-06-16 2 views
2

Я нашел это как необходимое улучшение для API потока данных, иначе я ошибаюсь.API Dataflow повторяет несколько раз после исключения формата данных

Я создал пакетный поток данных, и по ошибке одна из строк в моем исходном файле имела неверный формат данных.

Таким образом, работа трубопровода дала DataFormatException. Но вместо того, чтобы прекратить работу, она сама повторила несколько раз ~ 4 раза, прежде чем прекратить работу.

Я рассматриваю это как неправильное поведение. Когда пакетный поток данных получает недопустимый формат данных, он должен остановить задание вместо него, а не повторять несколько раз, а затем прекратить работу. Идеи?

ответ

3

Кажется, что Dataflow пытается построить некоторую отказоустойчивость. Это хорошая вещь. И это поведение явно задокументировано here («Как исключения Java обрабатываются в Dataflow?»)

Если вы не хотите этого поведения, просто напишите свой собственный код обработки исключений и выйдите из него, если вы этого не хотите. для повторного рассмотрения.

+0

Это правильно - Dataflow повторяет неудачные попытки обработки данных при сбое. Это делается для маскировки кратковременных сбоев, таких как ошибки сетевого подключения или переходные ошибки в каркасе или коде пользователя. Невозможно автоматически классифицировать ошибки на временные/постоянные, поэтому мы повторяем все сбои. – jkff

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