iloveeyjafjalla opened a new issue, #6944:
URL: https://github.com/apache/rocketmq-dashboard/issues/6944

   ## Summary
   
   `rmq.group.update` creates a FIFO consumer group whose broker configuration 
consumes **unordered**: a tool call that says `subscriptionDataType=FIFO` and 
nothing else reaches the provider with `deliveryOrderType` unset, and 
`isOrderlyDelivery(null)` is false — while the console's create dialog, whose 
vocabulary the tool reuses, always sends `PARTITON_ORDER` for a FIFO 
subscription.
   
   ## Why
   
   - Input mapping: `GroupInput.toConsumerGroupVO()` copies 
`subscriptionDataType` and `deliveryOrderType` verbatim and derives nothing 
(`server/src/main/java/org/apache/rocketmq/studio/ops/ai/tool/contract/group/GroupInput.java:33-48`).
   - Create path: `ConsumerGroupUpdateToolHandler.execute` sends that VO 
straight to `MetadataService.createConsumerGroup` when the group is absent 
(`.../handler/group/ConsumerGroupUpdateToolHandler.java:69-80`).
   - Provider: `RocketMQAdminClientImpl.updateConsumerGroup` sets 
`consumeMessageOrderly = isOrderlyDelivery(group.getDeliveryOrderType())` 
(`:853-859`, `:888-894`), and a null order type yields false.
   - Console: the create dialog mounts the order-type field with 
`initialValue="PARTITON_ORDER"` as soon as FIFO is chosen and submits it 
(`web/src/pages/instance/consumer.tsx:2510-2524`, `:2412-2421`).
   
   ## Impact
   
   A group created through the MCP/CLI path for a FIFO topic silently consumes 
without ordered delivery — the tool reports success and the group appears, but 
the ordered guarantee the operator asked for is not configured on the broker.
   
   ## Reproduction
   
   `GroupMutationPlanTest` → 
`updateCreatesAFifoGroupWithTheConsolesDefaultOrderTypeTest` creates an absent 
group with `subscriptionDataType=FIFO`:
   
   ```
   verify(metadataService).createConsumerGroup(argThat(group ->
       "PARTITON_ORDER".equals(group.getDeliveryOrderType())))
   ```
   
   fails today because the created VO carries a null order type.
   
   ## Expected
   
   The tool's create path applies the console's default (`PARTITON_ORDER` when 
FIFO is named without an order type); an explicit order type is never 
overridden.
   


-- 
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