yuluo-yx opened a new pull request, #4129:
URL: https://github.com/apache/rocketmq-dashboard/pull/4129

   Controller 模式的 Broker 故障排查需要分别查看 Controller 的 Leader 视图与 Broker 
同步集合成员。现有集群页面缺少这项只读诊断,本 PR 增加 Replica membership 入口、实例绑定接口、协议测试和中文操作文档。
   
   - 从所选实例登记的 Broker 读取 Controller 
配置;主节点尚未登记时可从已登记副本读取。模式关闭、字段缺失或地址未配置有明确反馈,不返回其他 Broker 配置。
   - 对配置中的 Controller 去重并逐节点读取组名、Leader、角色与 peers,保留部分失败。展示 
MATCHING、DIVERGENT、PARTIAL、UNAVAILABLE 字段比较结果,不把一致报告解释为多数派健康。
   - 使用原生 getInSyncStateData 查询所选 Broker 的主成员、任期和同步集合内外副本。64 位成员 ID 
保持字符串;存活标记与同步集合资格分开呈现,缺失标记保持未知。无选主或配置修改操作。
   - 成员查询失败仍保留 Controller 元数据;界面只手动查询,关闭和实例切换取消浏览器请求并丢弃迟到结果。
   
   
协议依据:[BrokerReplicasInfo](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/BrokerReplicasInfo.java)
 和 
[MQClientAPIImpl.getInSyncStateData](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java#L3405)。SDK
 查询成员前会再次发现 Leader,因此接口明确记录发现入口地址,不声称元数据与成员来自同一原子快照。
   
   本地后端 65 项、前端 23 项测试通过,新增服务覆盖 87/87 行、64/74 分支。Checkstyle、TypeScript/Vite 
构建及后端打包通过;ESLint 0 错误、10 条现有告警。浏览器通过本地 GET 
拦截验证真实入口、部分失败、大整数及同步成员与存活标记的区别,并检查滚动面板和底部按钮。
   
   去重:检索全部 Issue/PR 标题正文中的 getControllerMetaData、Controller 
metadata、getInSyncStateData、Controller 元数据及在线 controller replicas,没有同类入口。与 
Broker HA 字节复制进度不同,本功能检查 Controller 维护的控制状态,不提供日志复制差距。
   
   无新增依赖,无数据迁移,撤销该提交即可回滚。未运行真实 Controller 选主期间 
E2E、压力、容量和网络分区测试;既有全量测试失败与依赖审计缺口保留在任务记录,未宣称全量门槛通过。按用户授权执行增量验证,提交包含 [skip 
ci],未运行远端工作流。核验日期:2026-09-08。
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to