You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "Frun1na (via GitHub)" <gi...@apache.org> on 2026/10/07 17:43:23 UTC
[PR] fix(group): reject consumer-group updates a provider cannot perform [rocketmq-dashboard]
Frun1na opened a new pull request, #5652:
URL: https://github.com/apache/rocketmq-dashboard/pull/5652
### Which Issue(s) This PR Fixes
- Fixes #5651
### Brief Description
`rmq.group.update` is an upsert: it calls `updateConsumerGroup` when the group already exists. The interface default answered that call with `createConsumerGroup`, and only `ApacheInstanceProvider` overrides it — so on Aliyun and Tencent instances, "update" reached the vendor's create API. That is neither an update nor an honest failure: the vendor either rejects the call because the group exists, or reports success while the configuration is untouched.
The default now rejects the request with the same 501 the other cloud-unsupported consumer-group operations already return ("Consumer group settings are not supported for cloud instances", `MetadataService`), and the javadoc states why a provider must not fall back to creation. `ApacheInstanceProvider` keeps its real update path unchanged; `importConsumerGroup` keeps its documented create fallback, which is a different operation.
Real cloud update support is deliberately out of scope here: the Aliyun SDK has `UpdateConsumerGroupRequest` and the Tencent SDK has `ModifyConsumerGroupRequest`, but wiring them up cannot be verified without live cloud accounts. If maintainers prefer that direction, it can build on this change — the interface contract is what it fixes.
### How Did You Test This Change?
```
$ cd server && mvn -B -ntp test -Dtest='InstanceProviderTest' -DforkCount=1
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
```
The new test fails on the current code (the default calls `createConsumerGroup` and returns without throwing):
```
$ git stash server/.../InstanceProvider.java # production file only
$ mvn -B -ntp test -Dtest='InstanceProviderTest#updateConsumerGroupShouldRejectProvidersThatCannotUpdateTest' -DforkCount=1
[ERROR] InstanceProviderTest.updateConsumerGroupShouldRejectProvidersThatCannotUpdateTest
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
```
The test asserts both halves of the contract: the request is rejected with `BusinessException` code 501, and `createConsumerGroup` is never invoked.
### Checklist
- [x] One coherent change; unrelated modifications are not bundled in
- [x] Commit subject follows Conventional Commits (`feat:` / `fix:` / `refactor:` / `chore:` / `docs:` / `perf:`)
- [x] Tests added or updated for non-trivial changes, test methods named `...Test`
- [ ] New UI text has both Chinese and English entries under `web/src/i18n/`
- [ ] Architecture constraints stay green (`mvn test` runs the ArchUnit checks)
- [x] New source files carry the ASF license header
- [ ] Documentation touched where behaviour changed (README / `docs/` / in-app help)
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(group): reject consumer-group updates a provider cannot perform [rocketmq-dashboard]
Posted by "Frun1na (via GitHub)" <gi...@apache.org>.
Frun1na commented on PR #5652:
URL: https://github.com/apache/rocketmq-dashboard/pull/5652#issuecomment-6093182645
Friendly ping — this is still open for review whenever you get a chance. (Keeping it from the stale bot for now.)
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(group): reject consumer-group updates a provider cannot perform [rocketmq-dashboard]
Posted by "lizhimins (via GitHub)" <gi...@apache.org>.
lizhimins merged PR #5652:
URL: https://github.com/apache/rocketmq-dashboard/pull/5652
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org