blade-emqx重启后报错

Blade 未结 1 48
xiaoliu
xiaoliu 剑圣 2025-10-03 08:28

一、该问题的重现步骤是什么?

  1. 机房出现过一次断电后,重启完物联网平台(集成了emqx模式的cloud版本)各个服务后,blade-emqx出现如下错误,检查了下emqx网页的客户端认证、客户端授权都是正常开启的,并且emqx后台能正常处理kafka消息,想问下这个报错应该怎么解决?kafka集群重新安装了,blade-emqx还是报错

    image.png

2025-10-03 08:10:40.075  INFO 1 --- [   biz-worker-1] o.s.e.b.service.impl.EmqApiServiceImpl   : --> POST http://172.******:**803/api/v5/publish (347-byte body)2025-10-03 08:10:40.087  INFO 1 --- [   biz-worker-1] o.s.e.b.service.impl.EmqApiServiceImpl   : <-- HTTP FAILED: java.net.ProtocolException: Too many follow-up requests: 212025-10-03 08:10:40.088 ERROR 1 --- [   biz-worker-1] n.d.i.m.c.c.DefaultMqttClientProcessor   : nulljava.lang.reflect.UndeclaredThrowableException: null	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:785)	at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174)	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)	at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl$$SpringCGLIB$$0.ifMatch(<generated>)	at org.springblade.emqx.broker.listener.AllMessageListener.onMessage(AllMessageListener.java:72)	at net.dreamlu.iot.mqtt.core.client.DefaultMqttClientProcessor.lambda$null$6(DefaultMqttClientProcessor.java:416)	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)	at java.base/java.lang.Thread.run(Thread.java:840)Caused by: java.net.ProtocolException: Too many follow-up requests: 21	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:127)	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)	at okhttp3.internal.connection.RealCall.sw$original$getResponseWithInterceptorChain$okhttp$lito5p0(RealCall.kt:201)	at okhttp3.internal.connection.RealCall.sw$original$getResponseWithInterceptorChain$okhttp$lito5p0$accessor$sw$qmhb7m1(RealCall.kt)	at okhttp3.internal.connection.RealCall$sw$auxiliary$hm6h5e1.call(Unknown Source)	at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)

image.png

265565428e0c19c44e0f9ad89d39fec3.png

848978ac24d634edff9b1c967d895596.png

image.png

二、你期待的结果是什么?实际看到的又是什么?

期待的结果:blade-emqx重启后不报错

实际看到的:blade-emqx重启后报错

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

正在使用的产品:BladeX物联网平台(cloud版,emqx模式)

版本:2.1.0

操作系统:centos


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2025-10-09 09:52

    这个是http请求池超过限制报的错,

    你是重启服务时就会报的错,还是重启后主动执行publish接口报的错? 感觉像是一瞬间调用下发命令太多了然后emq服务还没有通,导致阻塞请求最后报错的。

    0 讨论(1)
提交回复