我们的应用程序使用 springBootVersion = 2.0.4.RELEASE
随着 compile('io.projectreactor.kafka:reactor-kafka:1.0.1.RELEASE')
附属国。
我们的Kafka经纪人是 1.0.1
.
当我们通过创建 reactor.kafka.sender.SenderRecord
并在Kafka的回应时寻找 reactor.kafka.sender.SenderResult.exception()
我们有 java.lang.RuntimeException: org.apache.kafka.common.errors.UnknownServerException: The server experienced an unexpected error when processing the request
在异常中填充。
经过几次重试,消息成功通过。
在代理日志上,下面的错误被多次打印,没有任何stacktrace [2019-02-08 15:43:07,501] ERROR [ReplicaManager broker=3] Error processing append operation on partition price-promotions-local-event-0 (kafka.server.ReplicaManager)
哪里 price-promotions-local-event
这是我们的主题。
我在网上看过,但没有明确的解决办法或方法来分诊这个问题,非常感谢任何帮助提前。
1条答案
按热度按时间byqmnocz1#
进一步调查后,我们可以得到代理日志上的stacktrace
从类文件
MemoryRecordsBuilder
提供于org.apache.kafka:kafka-clients:1.0.2
我们有下面这个IllegalArgumentException
正在被抛出。所以,在
ProducerRecord
在打印ProducerRecord
我们发现这些头文件是由appdynamics添加的——一个“singularityheader”被添加到kafka生成的记录中。更多阅读https://developer.ibm.com/messaging/2018/07/10/additional-rfh-header-added-appdynamics-monitor-agent-tool/
因此,我们在拦截器中将头显式设置为null,这解决了问题。