yuluo-yx opened a new pull request, #4091:
URL: https://github.com/apache/rocketmq-dashboard/pull/4091
## 变更目的
修复重复创建或 CSV 重新导入消费组时覆盖 Broker 现有策略的问题,以及带已有属性的消费组无法正常修改设置的问题。
已有组设为 `consumeEnable=false`、`consumeMessageOrderly=true` 后,旧创建路径仍构造默认配置并覆盖所有
Broker,导致消费被恢复、顺序消费被关闭。原实现上的复现测试确认暂停标志从 false 变成 true。
## 修改内容
逐 Broker
获取现有配置,以各自配置为基础应用创建请求中的正数重试次数。请求省略重试次数时保留已有值;明确不存在时使用原有新建默认值。权限错误和超时直接传播,不当作组不存在处理。部分执行失败的审计包含已完成与总
Broker 数。
创建和配置更新发送空属性修改集合。Broker 返回 `priority.factor` 这样的存储键,而更新协议只接受带 `+`/`-`
的操作;空修改集合由 Broker 保留现有属性。测试直接使用 SDK 的 `AttributeUtil` 验证这一协议,不只校验 mock 调用。
新增 12 个测试覆盖已暂停顺序组、各 Broker 独立策略、0
次重试保留、明确缺失、权限错误、超时、部分失败、元数据和属性协议。新增中文操作与兼容说明。
## 验证
基线:`d6dee7d7ccfcf4886f02466ec51452a6928b2cc8`,Java 21。
```bash
mvn -B -ntp org.jacoco:jacoco-maven-plugin:0.8.13:prepare-agent \
-Djacoco.destFile=target/group-recreation.exec \
-Djacoco.dataFile=target/group-recreation.exec \
-Dtest=ConsumerGroupRecreationTest,RocketMQAdminClientImplTest,MetadataServiceTest
\
verify org.jacoco:jacoco-maven-plugin:0.8.13:report
```
- 94 个相关测试通过,Checkstyle 和打包通过。
- JaCoCo:核心创建方法 52/52 行,新辅助方法 14/14 行,配置更新主体 50/54 行。
- `git diff --check` 通过;3 个文件,457 行新增、12 行删除,合计 469 行。
- 同一上游基线的全量后端测试为 2,110 项、3 个失败;已在原样上游检出复现 `AuthCorsIntegrationTest` 两项和
`AliyunInstanceProviderTest#getGroupProgressShouldMapLagRowsTest` 一项。本 PR
的相关验证没有新增失败。
- 未运行真实集群 E2E、压力或混沌验证。上游已有依赖漏洞未在本 PR 处理,不能宣称项目级漏洞门槛通过。
## 范围与兼容
已核对 #1013 的导入功能、#2512 的设置接口和已合并 #3991 的消费开关编辑。本 PR
修复现有创建路径的策略覆盖及属性协议,不重复添加设置功能。
协议依据:[RocketMQ 5.5.0
SubscriptionGroupManager](https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/subscription/SubscriptionGroupManager.java)。读取接口在
Broker 启用自动创建时可能创建缺失组,流程不承诺只读预检或跨 Broker 原子性。已有配置被旧逻辑覆盖后,需要操作者依据原设置恢复。
无迁移,直接替换;无新增依赖、配置或数据库字段。回滚本提交即可。验证在本地执行,提交含 `[skip ci]` 以跳过
`push`/`pull_request` 自动工作流。
--
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]