Отложен вызов Flink OnTimer

#apache-flink

#apache-flink

Вопрос:

Мы используем Flink для обработки огромного количества сеансов, каждый сеанс имеет уникальный идентификатор, каждую секунду происходят тысячи сеансов. Ключевой поток создается с помощью keyBy(SessionID) WITHOUT window . Мы обнаружили, что onTimer обратный вызов всегда задерживается. Например, с context.timerService().registerProcessingTimeTimer(1hour) , наихудший случай onTimer вызова произошел примерно через 1,6 часа.

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

Комментарии:

1. Какую версию вы используете? Вы читаете из файлов?

2. @ArvidHeise 1.8, чтение из Kinesis.

3. Вы собираете какие-либо системные показатели там? Может быть, это связано с тем, что система слишком загружена? Здесь следует учитывать, что onTimer вызовы всегда синхронизируются, поэтому могут возникать небольшие задержки, если вы обрабатываете свои данные в течение более длительного периода времени.