Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 卡夫卡制作人在超时后未重试_Spring Boot_Apache Kafka_Kafka Producer Api - Fatal编程技术网

Spring boot 卡夫卡制作人在超时后未重试

Spring boot 卡夫卡制作人在超时后未重试,spring-boot,apache-kafka,kafka-producer-api,Spring Boot,Apache Kafka,Kafka Producer Api,间歇性地(一个月一次或两次)我看到错误 org.apache.kafka.common.errors.TimeoutException:自批创建加上延迟时间后,cart-topic-0的1条记录已过期5109毫秒 在我的日志中,卡夫卡制作人未处理相应的消息 虽然所有的经纪人都已准备就绪,但我不确定为什么会出现这种错误。在此期间,即使是负载也不多 我已在Producer configs中将retries属性值设置为10,但消息仍未重试。对于Kafka send方法,还有什么需要添加的吗?我已经讨论

间歇性地(一个月一次或两次)我看到错误
org.apache.kafka.common.errors.TimeoutException:自批创建加上延迟时间后,cart-topic-0的1条记录已过期5109毫秒
在我的日志中,卡夫卡制作人未处理相应的消息

虽然所有的经纪人都已准备就绪,但我不确定为什么会出现这种错误。在此期间,即使是负载也不多

我已在Producer configs中将
retries
属性值设置为10,但消息仍未重试。对于Kafka send方法,还有什么需要添加的吗?我已经讨论过提出的类似问题,但是对于这个错误没有正确的结论


有人能帮我解决这个问题吗。

我遇到了一个问题,重试没有得到遵守,但在我的特殊情况下,这是因为我们在发送时调用get()方法来实现同步行为。我们没有意识到这会影响重试

在通过各种途径调查这一问题时,我遇到了重审错误的定义

让我困惑的是,超时被列为重审超时

我通常会建议您考虑是否批处理的交付时间过长,以及缓冲区中的消息是否因容量增加而过期,但您已经提到,容量不是特别高

您是否确定增加request.timeout.ms是否会影响发生频率?这可能更像是一个治疗症状的步骤,而不是治疗原因。

现在从中解决

我们建议添加一个新的timeout delivery.timeout.ms。强制窗口包括累加器中的批处理、重试和批处理的机上段。通过此配置,用户可以保证记录从发送返回时起何时被发送、失败或过期。换句话说,我们不再重载request.timeout.ms来充当累加器超时的弱代理,而是引入一个显式超时,用户可以依赖该超时,而无需公开生成器(如累加器)的任何内部


因此,基本上,现在发布此消息,您还可以为执行的每个异步发送配置传递超时和重试次数。

您是否找到了批量过期的确切原因?