unbridled-41 opened a new pull request, #5950: URL: https://github.com/apache/rocketmq-dashboard/pull/5950
### Which Issue(s) This PR Fixes Fixes #5949 ### Problem / Evidence `updateConsumerGroup` reads every broker's config and writes back only the retry limit: ```java // before SubscriptionGroupConfig config = entry.getValue(); config.setRetryMaxTimes(group.getRetryMaxTimes()); admin.createAndUpdateSubscriptionGroupConfig(entry.getKey(), config); ``` so the `deliveryOrderType` the request carries (and the AI tool plan advertises) never reached `consumeMessageOrderly` - the very flag the create path sets since #4839: ``` RocketMQAdminClientImplTest#updateConsumerGroupAppliesTheRequestedDeliveryOrderTypeTest Expecting value to be true but was false ``` The endpoint answered success, the audit row recorded the retry limit only, and ordered consumption on a FIFO topic silently stayed off. ### Root cause / Fix Asymmetric handling of the same request field between create and update. Apply `consumeMessageOrderly` when the request names a delivery order type (and keep the broker's flag when it does not), and name the outcome in the audit detail. ### Priority and scoring **PRIORITY 46** — impact 18/40 (a documented field silently dropped while the response says success; ordered consumption is a correctness requirement on FIFO topics), blast radius 8/20 (callers that submit the field), reproducibility 18/20 (deterministic, pinned by two new tests), maintenance value 2/20. **FIX_CONFIDENCE 75** — the create path's semantics are the reference; the only judgement is the absent-value case, which preserves today's behaviour. ### Tests `cd server && mvn -o -B -ntp test -Dtest='RocketMQAdminClientImplTest'` -> `Tests run: 82, Failures: 0, Errors: 0`. | Test | Before | After | |---|---|---| | `updateConsumerGroupAppliesTheRequestedDeliveryOrderTypeTest` | FAIL (`Expecting value to be true but was false`) | PASS | | `updateConsumerGroupKeepsTheBrokerFlagWhenNoDeliveryOrderTypeIsRequestedTest` | PASS (guard) | PASS | | `updateConsumerGroupPreservesEachBrokersConfiguration` (existing) | PASS | PASS | `mvn -o -B -ntp test -Dtest='org.apache.rocketmq.studio.instance.group.**,RocketMQMetadataProviderTest'` -> `Tests run: 81, Failures: 0, Errors: 0`; `checkstyle:check` passes. ### Risk An update that submits the field now changes broker state (that is the fix); everything else is preserved by the existing read-all-then-write loop. -- 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]
