X-LightYear opened a new issue, #5112: URL: https://github.com/apache/rocketmq-dashboard/issues/5112
## Problem The Apache metadata provider intentionally returns legacy Topic rows with a blank instanceId when the row's cluster matches the selected instance's configured cluster. The Topic page applies a second client-side instance filter and drops every row whose instanceId is absent. ## Reproduction 1. Have a persisted Apache Topic row with clusterId matching the selected instance's configured cluster and instanceId NULL or empty (the provider supports this legacy shape). 2. Open the Topic page for that instance. 3. The paginated API returns the Topic with total=1, but the table renders no row. ## Expected behavior A Topic returned by the selected instance-scoped API should remain visible when instanceId is absent because the backend has already accepted it for the selected instance. Rows with an explicitly different instanceId should remain hidden. ## Actual behavior The frontend checks topic.instanceId !== selectedInstanceId and removes legacy rows from the rendered page. The header and pagination still use the server total, so the UI can show an empty page with a non-zero Topic count. ## Root cause server/src/main/java/org/apache/rocketmq/studio/provider/apache/RocketMQMetadataProvider.java includes legacy rows whose instanceId is NULL/empty for the configured cluster. web/src/pages/instance/topic.tsx treats missing instanceId as a mismatch instead of an accepted legacy scope. ## Scope Frontend filtering only; no backend behavior change. ## Regression evidence A deterministic TopicPage test with a selected instance and a paginated response containing one legacy Topic with instanceId undefined failed before the fix and passes after the fix. -- 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]
