Kafka超时异常:批处理已过期

时间:2018-10-01 12:09:55

标签: apache-kafka

我们在生产上面临以下问题:

org.apache.kafka.common.errors.TimeoutException: Batch Expired.

是由于无效的配置(例如批大小,请求超时或其他原因)吗?

1 个答案:

答案 0 :(得分:2)

该错误表明某些记录以比从客户端发送记录更快的速率放入队列。

当生产者发送消息时,它们存储在缓冲区中(在将消息发送到目标代理之前),并且记录被分为几批以提高吞吐量。将新记录添加到批处理时,必须在request.timeout.ms控制的可配置时间窗口内发送记录(默认设置为30秒)。如果批处理在队列中放置的时间更长,则会抛出TimeoutException,然后将批处理记录从队列中删除,并且不会传递给代理。

增加request.timeout.ms的值应该可以帮助您解决问题。