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]