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

   消费组迁移目前需要逐队列手工输入目标位点,缺少能审阅整个 Topic、核对源目标状态并追踪部分结果的工作流。本 PR 在消费组进度表增加按 Topic 
复制消费位点的入口,覆盖接口、界面、审计、故障测试及操作文档。
   
   - 预览从 Topic 路由列举可读队列,使用登记主 Broker 直接读取范围、源和目标位点,并检查两组已配置且离线。权限或网络异常不当作离线。
   - 提交前重新检查全部队列、主地址和源目标位点;变化返回冲突,过期源位点阻止提交。队尾正常增长不会单独使预览失效。
   - 按队列更新目标位点并回读确认,保留 
CONFIRMED、UNCHANGED、UNKNOWN、NOT_ATTEMPTED。任一不确定结果停止后续队列,不自动重试;审计失败不覆盖既有操作结果。
   - UI 先预览再确认,所有位点保持十进制字符串;提交期间锁定表单和关闭按钮,提交后消耗旧预览。明确断网或切换实例不能撤回 Broker 写入。
   
   没有调用原生 cloneGroupOffset:RocketMQ 5.5.0 的 [SDK 
实现](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java#L1592)
 按源组重试 Topic 选路,而 
[ConsumerOffsetManager](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOffsetManager.java#L371)
 复制整个持久化队列表。本功能使用明确 Topic 路由和逐队列更新,保证预览与请求范围一致。
   
   本地验证:后端 72 项、前端 41 项测试通过;新增服务行覆盖率 114/114,Checkstyle、TypeScript/Vite 
构建及后端打包通过。ESLint 0 错误、10 条现有告警。浏览器在同一脚本中明确拦截本地 POST,验证大整数请求和确认回执,没有执行真实 Broker 
迁移。
   
   去重检索:全部 Issue/PR 快照标题正文中的 cloneGroupOffset、clone group offset、copy consumer 
offset、复制消费位点、克隆位点,以及在线开放 PR 搜索均未发现重复。与单队列手工调整不同,本功能解决两组按 Topic 迁移的范围审阅与部分结果处理。
   
   无新增依赖,无数据结构迁移;撤销提交即可移除接口与入口。已经写入的位点应依据原预览逐队列核实恢复;原来未保存位点的队列无法自动回滚为“未保存”。多 
Broker 读取和写入不是原子事务,停止消费者须由操作人员保障。真实集群 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