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

   ### Track
   
   RocketMQ Studio Track 1 / META-01 typed Topic management.
   
   ### Problem
   
   The Studio Topic create/update APIs accept `NORMAL`, `FIFO`, `DELAY`, 
`TRANSACTION`, and `LITE`, and `RocketMQAdminClientImpl` persists the selected 
type in `rmq_topic.topic_type`. However, the `TopicConfig` sent to each Apache 
RocketMQ Broker contains no Topic attributes.
   
   RocketMQ 5.x implements strong Topic types through the `message.type` Topic 
attribute. The documented admin form is `-a +message.type=FIFO` (and the 
corresponding values for the other types). Without this attribute, the Broker 
creates or updates a normal Topic even though Studio reports the requested 
typed Topic.
   
   ### Reproduction
   
   On the current `rocketmq-studio` baseline, capture the `TopicConfig` passed 
to `DefaultMQAdminExt#createAndUpdateTopicConfig` while creating or updating a 
FIFO Topic. Its attributes are `{}` instead of `{+message.type=FIFO}`. A 
focused regression test reproduces this for both write paths.
   
   This is the current Studio implementation of a symptom previously reported 
for the old Dashboard in #247; that issue was closed as stale and does not have 
a Studio fix.
   
   ### Impact
   
   The control plane and its local metadata can claim that a Topic is FIFO, 
delayed, or transactional while the Broker enforces NORMAL semantics. Producers 
using RocketMQ 5.x strong type validation may then be rejected or observe 
behavior inconsistent with the Studio UI.
   
   ### Expected behavior
   
   - Topic creation sends `+message.type=<selected type>` to every target 
Broker.
   - Topic updates send the attribute when a type is explicitly supplied, while 
preserving the Broker value for partial updates that omit the type.
   - A regression test verifies the actual `TopicConfig` passed to the Admin 
client rather than only checking the local database row.
   
   ### Proposed scope
   
   Update only the Apache provider Admin path and its focused unit tests. Cloud 
providers already map Topic types through their own OpenAPI contracts.


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