123123213weqw opened a new pull request, #7082:
URL: https://github.com/apache/rocketmq-dashboard/pull/7082
Completes #6133 ("fix(topic): report queue counts a vendor cannot measure as
unknown" by @Frun1na) — the maintainer deferred it from the #6144 fold: "needs
a `TopicOutput` / `topic.yaml` contract change plus three more consumer paths
before it can land". This carries the full chain.
Co-authored-by: Frun1na <[email protected]>
## The defect
The Aliyun `ListTopics`/`GetTopic` models carry no queue counts, so
`AliyunConverters.toTopicVO` wrote placeholder zeros that then travelled as
measurements: the detail drawer showed 0/0, CSV exports printed 0, topic
comparison reported fake `writeQueues: 8 -> 0` drift per cloud topic, and
rebuild/sync wrote the zeros back to the broker.
## The contract chain (16 files)
- **Model**: `TopicVO` gains `queueCountsAvailable` (default `true`),
mirroring `BrokerVO.runtimeStatsAvailable`; the Aliyun provider sets it `false`
next to the zero counts.
- **Tool output**: `TopicListItem` / `TopicDetailOutput` forward the
component.
- **Schema**: `topic.yaml` declares `queueCountsAvailable` in both
`rmq.topic.list` items and `rmq.topic.detail`; catalog regenerated (digest
independently reproduced from #6133's, confirming topic.yaml is the only input
delta); `make catalog-verify` clean.
- **Consumers**: `api/metadata.ts` type; the topic drawer renders `-` and
rebuild/sync omit the counts; CSV cells empty; topic comparison skips queue
fields unless both sides measured.
- **Docs**: `docs/api-spec.md` topics-list row. (One deviation from #6133,
noted in the commit body: its second docs row under `/routes` documented a
field that response never carries — route counts are always measured.)
## Tests
`AliyunConvertersTest` unavailable-counts case;
`ToolOutputSchemaContractTest` fails if the field returns without its yaml
property; `TopicPage.test.tsx` drawer-renders-unknown;
`topicConfigComparison.test.ts` no-false-drift. Java suites 26/26;
catalog-verify and catalog tests green; red-check confirmed the digest guard
trips when the yaml reverts.
--
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]