zmuxuny opened a new issue, #4497: URL: https://github.com/apache/rocketmq-dashboard/issues/4497
### Before Creating the Feature Request - [x] I searched open/closed issues and PRs and found no cloud consumer-group settings implementation. - [x] I understand non-trivial features should be agreed in the issue before a PR is sent. ### Problem The Consumer Group detail modal already has a **Settings** tab, but Studio disables it for Aliyun and Tencent instances. Operators can create/delete cloud groups and inspect progress/subscriptions, yet changing supported group settings still requires leaving Studio for the cloud console or provider CLI/API. The SDK versions already pinned by Studio expose the required management APIs, so no dependency upgrade is needed: - Aliyun RocketMQ 5.x: `GetConsumerGroup` / `UpdateConsumerGroup`. - Tencent Trocket 5.x: `DescribeConsumerGroup` / `ModifyConsumerGroup`. ### Proposed design Add `CONSUMER_GROUP_SETTINGS` to the provider capability contract and route the existing settings endpoint through `InstanceProvider` instead of an Apache-only gate. The provider returns an `editableFields` list, so the web form renders and submits only fields that the selected provider actually supports. **Apache** keeps the existing behavior unchanged: retry queue count, max retry count, consume-enable, orderly-consume, and broadcast-consume remain editable. **Aliyun**: - read current state with `GetConsumerGroup`; - edit `maxRetryTimes`, `deadLetterTargetTopic`, `maxReceiveTps`, `remark`, and `fixedIntervalRetryTime` when the current retry policy is fixed-interval; - show delivery order and retry-policy type as read-only; - preserve the current retry-policy type and delivery semantics when updating, because Aliyun documents `deliveryOrderType` as not modifiable and requires a complete retry-policy object in `UpdateConsumerGroup`. **Tencent**: - read current state with `DescribeConsumerGroup`; - edit `maxRetryTimes`, `consumeEnable`, `consumeMessageOrderly`, and `remark` through `ModifyConsumerGroup`; - GET current state before mutation so omitted fields are preserved. ### Safety and compatibility - Unsupported fields fail closed with HTTP 400 instead of being silently discarded. - Cloud mutations use the existing `MetadataService.executeWithAudit` path. - No schema migration or dependency upgrade. - Existing Apache request semantics stay compatible. - The UI shows a provider notice and builds the mutation payload from `editableFields`, not from a hard-coded union of all provider fields. ### Acceptance criteria 1. The cloud Consumer Group Settings tab is usable for Aliyun and Tencent instances. 2. Values are loaded from the provider's official management API. 3. Only provider-supported fields are editable/submitted; unsupported fields are rejected server-side too. 4. Omitted values are preserved during cloud updates. 5. Aliyun delivery order/retry-policy type are not accidentally changed. 6. Apache settings behavior remains unchanged. 7. Provider mapping, controller/service compatibility, and cloud UI behavior have focused tests. ### Prototype verification I built a local prototype only to validate the design; I will wait for maintainer feedback here before opening a PR. On current `master` (`987b748e8f4f421c5cd3c4c4e51a064cc7e59f18`): - Java 21 focused backend suite: **229 tests passed**, 0 failures/errors; Checkstyle 0 violations. - Provider contract tests cover Aliyun/Tencent read, merge-update, immutable/unsupported fields, and Apache compatibility. - Tencent cloud UI regression verifies the tab is enabled and the save payload excludes Apache-only fields. - TypeScript/Vite production build, touched-file ESLint, Prettier, and `git diff --check` pass. AI-assisted design/implementation prototype; SDK signatures and provider semantics were independently checked against the pinned SDKs and current provider code. -- 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]
