Задание потока данных останавливается с помощью "Обед ожидания"

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

Processing lull for PT7500.005S in state process of ...

Преобразование, регистрирующее этот код, выполняется сразу после блока "group by" и выполняет асинхронный HTTP-вызов (используя scala.concurrent.{Await/Promise}) к внешнему сервису.

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

  • Кодвакансии: 2018-01-29_03_13_40-12789475517328084866
  • SDK: Apache Beam SDK для Java 2.2.0
  • Версия Scio: 0.4.7

1 ответ

Решение

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

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