当前位置: 首页 > 知识库问答 >
问题:

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

吕志诚
2023-03-14

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

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

是因为无效的配置,如批量大小、请求超时或其他原因吗?

共有1个答案

长孙嘉
2023-03-14

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

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

增加request.timeout.ms的值应该对您有用。

 类似资料:
  • 问题内容: 使用Apache Kafka Java客户端(0.9),我试图使用Kafka Producer类 将一连串的记录发送到代理。 异步发送方法会立即返回一会儿,然后在很短的时间内开始阻塞每个调用。大约三十秒钟后,客户端开始引发异常(TimeoutException),并显示消息 “批处理已过期” 。 在什么情况下会引发此异常? 问题答案: 此异常表示您正在以比发送记录更快的速率对记录进行排

  • 我对Spring批处理跳过逻辑有一些问题。我已经配置了一个作业的步骤来跳过两个异常(SQLIntegrityConstraintViolation异常和乐观锁定失败异常): 但当作业运行时,由于我将其配置为跳过的异常,作业以未知状态完成: 我做错什么了吗?我希望这一步跳过负责抛出其中一个异常的项,并继续处理,以便以完成状态结束。

  • 问题内容: 我试图用一个批量一些 KTable 值,并送他们。似乎30秒钟超出了使用者超时间隔,在此间隔之后,Kafka认为该使用者已失效并释放了分区。 我尝试提高 轮询 和 提交间隔 的频率来避免这种情况: 不幸的是,这些错误仍在发生: (很多) 其次是: 显然,我需要更频繁地将心跳发送回服务器。怎么样? 我的拓扑是: 该 KTable 是关键,每30秒分组值。在 Processor.init(

  • 前言 sender的run 调用done方法,并传入TimeoutException

  • 本文向大家介绍Java  HttpURLConnection超时和IO异常处理,包括了Java  HttpURLConnection超时和IO异常处理的使用技巧和注意事项,需要的朋友参考一下 最近同步数据的时候发现了一个问题,我本身后台插入数据后给其他部门后台做同步。说简单一点其实就是调用对方提供的接口,进行HTTP请求调用。然后后面发现问题了。HTTP请求的话,有可能请求超时,中断失败,IO异常

  • 我如何处理quarkus kafka smallrye流媒体处理的异常? 我的代码与quarkus指南上的命令生产者示例非常相似(https://quarkus.io/guides/kafka#imperative-用法) 我想要类似于香草Kafka库的东西,它提供了处理请求发送的每条记录的回调的选项。 Tks