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

   ## Summary
   
   Every Tencent topic consumer is reported with `consumeType: null` — in the 
console's topic detail table and in the AI `rmq.topic.detail` consumer block — 
even though the row's `messageModel` beside it says `CLUSTERING`.
   
   ## Why
   
   - Tencent's `SubscriptionData.ConsumeType` is the **consumption mechanism** 
(`PUSH` / `PULL` / `POP`, per the pinned SDK), not the subscription model; the 
model is `MessageModel` (`CLUSTERING` / `BROADCASTING`).
   - `TencentInstanceProvider.toTopicConsumer` passes both to 
`toConsumeType(consumeType, messageModel)` 
(`server/src/main/java/org/apache/rocketmq/studio/provider/tencent/TencentInstanceProvider.java:1018-1031`),
 and the helper prefers the first argument and only recognises strings 
containing `BROADCAST`/`CLUSTER` (`:1158-1170`). Real vendor values therefore 
map to `null`.
   - The Apache and Aliyun conversions derive the same contract field from the 
message model, so only the Tencent rows are empty.
   
   ## Impact
   
   The 消费模式 column and every AI consumer projection for a Tencent topic lose 
the clustering/broadcasting distinction; `rmq.topic.detail` returns 
`consumeType: null` for all of them, and a client comparing consumers across 
vendors sees one vendor disagree with the contract (`docs/api-spec.md:1039`).
   
   ## Reproduction
   
   `TencentInstanceProviderTest` → 
`getTopicConsumersShouldDeriveTheSubscriptionModelFromTheMessageModelTest` 
stubs a subscription with `ConsumeType("PUSH")` and 
`MessageModel("CLUSTERING")`:
   
   ```
   expected: CLUSTERING
    but was: null
   ```
   
   ## Expected
   
   `consumeType` follows `MessageModel` (with the mechanism only as a 
fallback), matching the Apache and Aliyun conversions.
   


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