btlqql opened a new issue, #2242: URL: https://github.com/apache/rocketmq-dashboard/issues/2242
## Problem The settings API accepts `victoria metrics` and `victoria_metrics` as valid metrics data source types, but `MetricsBackendType.fromProviderType` does not recognize the space-separated form. A saved configuration can therefore pass validation and silently fall back to Prometheus paths instead of VictoriaMetrics paths. The same request boundary stores `instanceIds` without trimming or deduplicating them. Later instance-scoped metric queries compare a normalized instance ID with `List.contains`, so a binding containing spaces is saved successfully but rejects queries for the normalized ID. Blank and duplicate bindings also leak into persisted configuration and the UI. ## Expected behavior - Every provider spelling accepted by validation resolves to the intended backend. - Saved provider types use one stable, UI-compatible canonical name. - Instance bindings are trimmed, reject blank elements, and are deduplicated without changing their order. - A null binding list continues to represent a global data source. ## Proposed scope Canonicalize provider types and instance bindings at the DTO boundary, keep backend lookup compatible with common separators, and add focused validation/conversion tests. ## Duplicate check Searched open and closed issues and pull requests for VictoriaMetrics data source normalization, provider spelling, and metrics instance binding normalization. No matching implementation was found. No current pull request targeting `rocketmq-studio` changes the proposed production or test files. -- 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]
