the record.
BATCH - call commitAsync() when all the records returned by the poll() have been processed.
Как я понял при BATCH моде в пул за установленное время набираются сообщения из партиции, и после этот пакет данных читается слушателем, и при чтение этого пула данных можем упасть где по середине обработки, и т.о. офсет откатится, но фактически мы уже обработали половина данных из пула
И чем больше установлено время для наполнения этого пула, тем больше сообщений туда наберется.
Или я чет выдумываю 😅 ?
Уточнение, есть чтение, есть запись. Суть в том, если батч не сформирован( мало записей) он отправится малым составом (один чел в автобусе) для этого есть и параметр времени за который идёт ожидание очереди бача. Как остановка, много людей - берут всех кто в автобус сел, мало - захватят всех и полупустым поедет
Да это мне понятно ) Допустим в пакет набралось 50 сообщений и этот пакет данных потом передается слушателю и мы читаем эти сообщения и пишем их в бд по одному, и допустим на обработке 40-го сообщения падаем с ошибкой, тогда получается оффсет же не закоммится на 40-ом сообщении, а откатится к самому первому сообщению которое было в пакете ?
Обсуждают сегодня