Я читаю это Как max.poll.records влияет на опрос потребителей , а также apache kafka docs, и я до сих пор не уверен, что fetch.min.bytes
не изменилось, и по умолчанию равен 1, обязан ли брокер kafka вернуть max.poll.records
записей, если это доступно или нет?
Согласно нашим тестам, он не всегда возвращает так много, даже если в топи c имеется достаточно данных, и объяснение этого параметра из документации и его полное имя не подразумевают, что это должно, но некоторые люди склонны думать об обратном. Мы также увеличили лимиты, которые могли бы потенциально предотвратить это, например, message.max.bytes
, max.message.bytes
, max.partition.fetch.bytes
и fetch.max.bytes
(тот, который нам на самом деле увеличивать не нужно, так как значение по умолчанию довольно высокое, 50 МБ), но это ничего не изменило.
Мы также не изменили fetch.max.wait.ms
, и по умолчанию 500, то есть половина секунды, поэтому, если fetch.min.bytes
не установлено к чему-то больше чем 1 байт, тогда этот параметр вступает в силу, ie, это определяет, сколько записей фактически возвращено? Что означало бы, что если было возвращено меньше max.poll.records
, то это потому, что для извлечения этой информации потребовалось бы более 500 мс?