Skip to content

Consumer页面有几率触发丢失客户端信息的BUG #387

@zergduan

Description

@zergduan

版本:
Commit ce8306a

刷新浏览器或者点解Consumer页面的刷新按钮,有几率丢失客户端数据

Image

刷新页面或者点击刷新按钮多次后,如下图客户端数据丢失:

Image

dashboard日志中报错如下:

[2025-11-23 22:44:55.357] WARN QueryGroup_2 - examineConsumeStats exception to consumerGroup CG-UAT-PRM-SMS-PRM-SMS, response [send request to </127.0.0.1:8080> failed]
[2025-11-23 22:44:55.359] ERROR QueryGroup_4 - examineConsumerConnectionInfo error
org.apache.rocketmq.remoting.exception.RemotingSendRequestException: send request to </127.0.0.1:8080> failed
at org.apache.rocketmq.remoting.netty.NettyRemotingAbstract.invokeSyncImpl(NettyRemotingAbstract.java:505)
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:565)
at org.apache.rocketmq.dashboard.service.client.ProxyAdminImpl.examineConsumerConnectionInfo(ProxyAdminImpl.java:43)
at jdk.internal.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
at org.apache.rocketmq.dashboard.aspect.admin.MQAdminAspect.aroundMQAdminMethod(MQAdminAspect.java:98)
at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:642)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:632)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
at org.apache.rocketmq.dashboard.service.client.ProxyAdminImpl$$SpringCGLIB$$0.examineConsumerConnectionInfo()
at org.apache.rocketmq.dashboard.service.impl.ConsumerServiceImpl.queryGroup(ConsumerServiceImpl.java:264)
at org.apache.rocketmq.dashboard.service.impl.ConsumerServiceImpl.lambda$makeGroupListCache$1(ConsumerServiceImpl.java:209)
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: org.apache.rocketmq.remoting.exception.RemotingSendRequestException: send request to </127.0.0.1:8080> failed
at org.apache.rocketmq.remoting.netty.ResponseFuture.executeInvokeCallback(ResponseFuture.java:70)
at org.apache.rocketmq.remoting.netty.NettyRemotingAbstract.lambda$executeInvokeCallback$2(NettyRemotingAbstract.java:412)
... 5 common frames omitted
[2025-11-23 22:44:55.359] WARN QueryGroup_4 - examineConsumeStats exception to consumerGroup CG-UAT-PRM-EMAIL-PRM-EMAIL, response [send request to </127.0.0.1:8080> failed]
[2025-11-23 22:44:55.359] INFO http-nio-8080-exec-8 - All consumer group query tasks have been completed

可见多次刷新后,dashboard无视页面中disable proxy的设置,依然试图通过proxy (默认设置127.0.0.1:8080)获取消费者信息;这应该是一个bug;

目前解决此问题的方法是:

  1. 手动点击页面中 Enable Proxy 按钮2次(重置disable状态)
  2. 点击REFRESH按钮,消费者信息恢复正常
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions