У меня есть два потока данных, поступающих в кластер Kafka.Я хочу обработать эти данные с потоками Кафки.Производители потоков запускаются через некоторое время t.
Я запускаю задание Kafka Streams через 5 минут и начинаю читать с самых ранних из обеих тем (около 900 000 сообщений уже по каждой теме).Задание анализирует данные и объединяет два потока.Что касается промежуточных тем, я вижу, что все более ранние события протекают до объединения.Однако не все старые события выводятся из объединения.Данные, которые уже были в теме после начала работы, поступают время от времени.Новые данные поступают так, как и должно быть.
Льготный мс соединения составляет 50 миллисекунд, но установка его на 5 или 10 минут не имеет значения.Мои другие настройки:
- auto.offset.reset = самые ранние
- commit.interval.ms = 1000
- batch.size = 204800
- max.poll.records = 500000
Объединение выполняется в следующем окне:
JoinWindows.of(Duration.ofMillis(1000))
.grace(Duration.ofMillis(50))
Насколько я понимаю, эти объединения должны выполняться во время события.Что это может привести к тому, что эти результаты будут отброшены?