указать параметр kafka_skip_broken_messages для Kafka Engine?
сейчас kafka_skip_broken_messages = 1, и есть проблема:
генерируются очень много JSONEachRow данных, среди них есть кривые, это не починить, только фильтровать или самому, или Clickhouse, он умеет отбрасывать кривые, но - через какое-то время получение данных из Кафки останавливается, в логах Clickhouse видим - что запись пропущена, все как обычно, но по факту данные не забираются... и ничего с этим поделать не можем, помогает только offset reset на позднее значение (
очень похоже на бесконечный цикл, получаем кривое сообщение, почему-то не пропускаем его (не смещаем offset в топике кафки), и опять по новой
kafka_skip_broken_messages = N, где N - это максимальное количество сообщений в блоке, которое допустимо отбросить если количество битых сообщений в блоке больше N, то получается ситуация, которую Вы описываете
ага, уже понятнее... т.е. по идее, надо указать N = размеру блока, так?
при kafka_skip_broken_messages = 1 он должен отбрасывать все невалидное, где-то были комментарии на эту тему
https://clickhouse.tech/docs/ru/engines/table-engines/integrations/kafka/
ну по факту этого не происходит... вернее так - работает пару часов, а потом останавливается
Обсуждают сегодня