продьюсинга наблюдаю слудеющее:
expiring records for .... 51384 ms has passed since last append
Посмотрел код продюсера, экспайрит батч с таким сообщением при условии что он full (не последний для партишена или последний, превышающий request.max.size) и requestTimeoutMs < (now - this.lastAppendTime).
Что напрягает:
1) до expireBatches идёт RecordAccumulator::drain, который должен бы все батчи, существующие дольше, чем linger.ms слить. Почему они тогда доходят до экспайра?
2) Реквест таймаут стоит а 30 сек, но сообщения про экспайр возникают только с 51ой секунды в этом случае. Почему-то не видно сообщения, начиная с 30й секунды и далее. Sender thread, который этим занимается, вроде не может иметь пауз по 20 секунд
GC пауз тоже не было
Есть может какие идеи?
Кажется, что сендер тред не успевает разгребать деки в drain, но пункт 2) всё равно мне непонятен
Спасибо
Привет! Столкнулись с похожей проблемой (выше можно найти моё сообщение), но на версии 2.0. Детально пока не удалось покопать. Гипотеза, что это релевантно KIP-91.
Обсуждают сегодня