gpt4 book ai didi

java - Spring-Cloud-Stream Kafka Azure - 获取数据时出现意外错误代码 13

转载 作者:行者123 更新时间:2023-12-02 01:44:35 25 4
gpt4 key购买 nike

我正在开发一个 Dockerized SpringBoot 应用程序。Docker 镜像是微服务,其中之一与 Azure 事件中心进行通信。

我的一些属性:

spring-boot -> 2.0.7.RELEASE

spring-cloud.version -> Finchley.SR2

我已在 Azure 中创建了一个主题(启用了 Kafka)。

我按照一些简单的指南来设置我的微服务,一切正常。

@EnableBinding({Processor.class})
public class EventService {
...
@Autowired private Processor ehProcessor;
...
public void send(String event) {

Message<String> message = MessageBuilder
.withPayload(event)
.setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON)
.build();

boolean send = ehProcessor.output().send(message, 5000L);

if (!send) {

log.error("Event NOT sent", event);
}
}

...

@StreamListener(target = Processor.INPUT)
public void receive(String event) {

handle(event);
}
}

整整一个月,一切都很顺利,但在最后两天,微服务卡住了,因为连续的堆栈跟踪填满了我的所有磁盘(解决方案是设置 docker 日志轮换)。

java.lang.IllegalStateException: Unexpected error code 13 while fetching data
at org.apache.kafka.clients.consumer.internals.Fetcher.parseCompletedFetch(Fetcher.java:891) ~[kafka-clients-1.0.1.jar!/:na]
at org.apache.kafka.clients.consumer.internals.Fetcher.fetchedRecords(Fetcher.java:528) ~[kafka-clients-1.0.1.jar!/:na]
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1154) ~[kafka-clients-1.0.1.jar!/:na]
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1111) ~[kafka-clients-1.0.1.jar!/:na]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:699) ~[spring-kafka-2.1.7.RELEASE.jar!/:2.1.7.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_181]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_181]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

我说的是 1 毫秒内的 8/9 日志消息。

查看org.apache.kafka.common.protocol.Errors类的内部该错误与以下内容有关:

NETWORK_EXCEPTION(13, "The server disconnected before a response wasreceived."

我无法以编程方式重现此错误。我不明白为什么当出现第一个错误时日志将开始并且无限循环中不停止。我需要停止 docker 容器,有时容器不会停止。唯一的解决方案是删除容器并重新创建。

更新

我在 github 上打开了一个问题 here 。我已经收到回复,他们正在开始调查。

更新

问题已解决。

When they changed an UnknownServerException to a NetworkException,Spring Boot started getting stuck in the retry loop.

最佳答案

已确认link那个,

最近进行了一项更改,其中 UnknownServerException 的实例更改为 NetworkException。

问题详细信息在这里 - https://github.com/Azure/azure-event-hubs-for-kafka/issues - 包含您的命名空间信息。谢谢!

关于java - Spring-Cloud-Stream Kafka Azure - 获取数据时出现意外错误代码 13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53872902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com