Flink: В каком порядке события обрабатываются в итеративном цикле? - PullRequest
2 голосов
/ 17 июня 2019

Для случая одной итерации итеративного цикла, когда тип обратной связи отличается от типа входного потока, в каком порядке обрабатываются события в прямом потоке? Так, например, если у нас есть:

  • входной поток содержит input1, за которым следует input2
  • a ConnectedIterativeStream<input, feedback> во главе итерации
  • , за которым следует CoProcessFunction, которая испускает элемент feedback в ответ на input, который закрывает ConnectedIterativeStream

Для входного потока input1, за которым следует input2, какой порядок событий видит функция CoProcessFunction?

Видит ли он «input1, feedback1, input2, feedback2» или «input1, input2, feedback1, feedback2», или это недетерминированный порядок времени обработки, основанный на времени выполнения функции CoProcessFunction, но где input1 равен всегда обрабатывается до input2, а feedback1 всегда обрабатывается до feedback2, например любой из двух заказов возможен?

...