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)

Reply via email to