yuluo-yx opened a new pull request, #4112: URL: https://github.com/apache/rocketmq-dashboard/pull/4112
## 变更目的 Broker 列表增加 `Cold-read control`。运维人员可查看消费组回溯历史数据时的冷读用量、管理员限额与自适应限额,确认目标后只修改一个 Broker 上的一个消费组。 已检索全量 Issue/PR 标题正文中的 coldData、cold read、cold data、冷读等关键词,并补充在线 `cold data` 去重,未发现现有冷读流控功能。 ## 实现范围 - 新增 GET 查询与管理员 POST 单组配置接口,绑定所选 Apache 实例及登记的主节点,不接受任意地址或回退从节点。 - 合并运行组、仅配置组和自适应组,区分管理员覆盖与 Broker 自动阈值;保留所有 64 位计数精度,缺失字段不回填零。 - 支持正整数字节阈值和移除管理员覆盖,拒绝保留的 `||adaptive` 配置键;不更改总开关或广播到其他 Broker。 - Broker 确认后回读目标键,区分已核实、值不符和回读不可用。已确认的写入不会因回读或审计失败被误报为可重试失败。 - 表单提供目标确认、修改后确认失效、保存锁定、权限提示和关闭后的迟到结果隔离,不自动重试写入。 - 添加中文使用说明、单位、生命周期、局限和回滚方法,无新增依赖或数据库变更。 官方 [ColdDataCgCtrService 5.5.0](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/coldctr/ColdDataCgCtrService.java) 将组限额保存在内存,并周期性清零累积字节计数。因此页面明确提示重启后需重新配置,计数不是字节/秒,移除覆盖恢复自适应或默认策略。 [AdminBrokerProcessor](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java) 对单条更新异常可能仍返回成功,因此服务校验输入并回读目标配置,不只依赖 RPC 确认。 ## 本地验证 基线 `d6dee7d7ccfcf4886f02466ec51452a6928b2cc8`,Java 21、Node 24.18.0,2026-09-08。 ```bash cd server mvn -B -ntp org.jacoco:jacoco-maven-plugin:0.8.13:prepare-agent -Djacoco.destFile=target/cold-read.exec -Djacoco.dataFile=target/cold-read.exec -Dtest=ColdReadTest,RuntimeAdminClientResolverTest,AuthInterceptorTest,OperationAuditServiceTest verify org.jacoco:jacoco-maven-plugin:0.8.13:report cd ../web npx vitest run src/api/coldRead.test.ts src/components/__tests__/ColdReadDialog.test.tsx src/pages/studio/__tests__/BrokerCluster.test.tsx npm run build ``` - 后端 88 个测试通过:新增 34 个冷读协议/操作场景、2 个权限场景,覆盖真实实例解析、客户端工厂与审计服务;底层 SDK、实例仓储和审计 Mapper 使用 mock。 - 新服务 JaCoCo 行覆盖率 89/89,分支 52/52;Checkstyle 零违规、打包通过。 - 前端 29 个测试通过;修改文件 ESLint、TypeScript 与 Vite 构建通过。 - 浏览器在真实 Broker 列表进入面板,将 orders 的阈值改为 `9007199254740995` 并确认,只产生一个携带所选实例/组/精确字符串的本地 POST。该精确地址由同一脚本显式拦截返回受控结果,其他非 GET 中止,没有真实 Broker 写入。 - `git diff --cached --check` 通过;13 个文件,1,399 行新增、1 行删除。 首次 Checkstyle 发现参数化测试注解数组的两处缩进,修正后验证通过。原样上游基线已有 3 个全量后端失败及依赖漏洞,本项无新增依赖,相关验证无新增失败;不将增量验证表述为项目级全量验收。真实集群 E2E、性能、压力、容量与混沌测试未执行。 配置查询与回读不是原子事务,其他管理员或 Broker 切换可能改变结果。操作前应记录原值;代码回滚移除接口与入口,配置回滚恢复原管理员阈值,原本无覆盖时移除覆盖。无迁移,直接部署。提交含 `[skip ci]`,验证在本地执行。 -- 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]
