Apache Работа луча на контрольно-пропускном пункте Flink растет со временем - PullRequest
0 голосов
/ 21 апреля 2020

Одна из наших Apache луч работающая через FlinkRunner имеет странное поведение с размером контрольной точки . Бэкэнд состояния основан на файлах. Задание получает трафик c один раз в день в течение часа и затем простаивает, пока не получит больше данных.

Конвейер не использует никакой стратегии управления окнами. Это просто чтение из источника, объединение различных значений из этого источника и запись его в приемник. Мы только записываем состояние в неограниченном источнике.

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

Мы думали, что это потенциально может быть шея bottle с приемником базы данных, однако такое же поведение присутствует, если мы удаляем приемник и просто выводим данные.

Поведение похоже на ступенчатый график, например

  • контрольная точка = 120KB (контрольная точка начального размера)
  • контрольная точка = 409MB (начинает прием данных)
  • контрольная точка = 850 МБ (обработка данных отставания)
  • контрольная точка = 503 МБ (данные о завершении обработки)
  • контрольная точка = 1,2 ГБ (начинается обработка новые данные и отставание)
  • контрольная точка = 700MB (данные законченной обработки)
  • контрольная точка = 700MB (новый начальный размер для контрольной точки)
  • ...
...