не по теме.
Есть стрим с оконной операцией, которая с некоторой логикой добавляет все входящие сообщения в коллекцию, устраняя дубликаты, а затем отправляет итоговую коллекцию далее в другой топик.
И иногда в конце периода работы окна получается сообщение размером более 10мб, которое не получается отправить в топик и на этом моменте все падает.
Вот пример ошибки:
Exception in thread "-d397f55b-2123-44c6-836a-49f74e453738-StreamThread-1" org.apache.kafka.streams.errors.StreamsException: Error encountered sending record to topic -KTABLE-SUPPRESS-STATE-STORE-0000000008-changelog for task 1_0 due to:
org.apache.kafka.common.errors.RecordTooLargeException: The request included a message larger than the max message size the server will accept.
Не могу найти какой-то механизм который позволял бы закрыть окно раньше при достижении каких-то условий, например размера коллекции.
Кто-то решал подобную проблему?
Первое что приходит в голову, написать свой Processor вместо супрессора окна, и там в планировщик добавить код, который будет проверять коллекцию на достижение условий и форвардить ее
Обсуждают сегодня