chenyuzhi created FLINK-32649: --------------------------------- Summary: Mismatch label and value for prometheus reporter Key: FLINK-32649 URL: https://issues.apache.org/jira/browse/FLINK-32649 Project: Flink Issue Type: Bug Affects Versions: 1.17.0 Reporter: chenyuzhi
When runing unit test 'org.apache.flink.metrics.prometheus.PrometheusReporterTest#metricIsRemovedWhileOtherMetricsWithSameNameExist', it got wrong response string as {code:java} # HELP flink_logical_scope_metric metric (scope: logical_scope) # TYPE flink_logical_scope_metric gauge flink_logical_scope_metric{label1="some_value",label2="value1",} 0.0 {code} in my opinion, the expected right response is : {code:java} # HELP flink_logical_scope_metric metric (scope: logical_scope) # TYPE flink_logical_scope_metric gauge flink_logical_scope_metric{label1="value1",label2="some_value",} 0.0 {code} The reason may be we create two metric with same name, but two different order label-keys in the variables of MetricGroup. And we don't sort the key&value in variables within methond 'org.apache.flink.metrics.prometheus.AbstractPrometheusReporter#notifyOfAddedMetric'. Maybe it won't happen in production env now, cause we alway use the same 'MetricGroup' instance as the input param of method 'notifyOfAddedMetric'. Howerver it's important to ensure the robustness of method with unpected input param. -- This message was sent by Atlassian Jira (v8.20.10#820010)