From 0fb3d27907af46c7d674323a190c1ab220fb8a89 Mon Sep 17 00:00:00 2001 From: Ruihang Xia Date: Sat, 11 May 2024 19:12:59 +0800 Subject: [PATCH 1/2] fix: sort unstable HTTP result in label values query Signed-off-by: Ruihang Xia --- src/servers/src/http/prometheus.rs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/servers/src/http/prometheus.rs b/src/servers/src/http/prometheus.rs index 41eeb76e8a70..43bb91d3ab45 100644 --- a/src/servers/src/http/prometheus.rs +++ b/src/servers/src/http/prometheus.rs @@ -704,10 +704,9 @@ pub async fn label_values_query( ); } }; - - return PrometheusJsonResponse::success(PrometheusResponse::LabelValues( - field_columns.into_iter().collect(), - )); + let mut field_columns = field_columns.into_iter().collect::>(); + field_columns.sort_unstable(); + return PrometheusJsonResponse::success(PrometheusResponse::LabelValues(field_columns)); } let queries = params.matches.0; @@ -754,13 +753,6 @@ pub async fn label_values_query( .collect(); let mut label_values: Vec<_> = label_values.into_iter().collect(); - - // sort result for consistent output in tests - #[cfg(test)] - { - label_values.sort_unstable(); - } - label_values.sort(); let mut resp = PrometheusJsonResponse::success(PrometheusResponse::LabelValues(label_values)); resp.resp_metrics = merge_map; From 80ee063c5d575543fc49fa433ff87c6fc681eacf Mon Sep 17 00:00:00 2001 From: Yingwen Date: Sat, 11 May 2024 19:18:23 +0800 Subject: [PATCH 2/2] chore: Update src/servers/src/http/prometheus.rs --- src/servers/src/http/prometheus.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/src/http/prometheus.rs b/src/servers/src/http/prometheus.rs index 43bb91d3ab45..4a45adcfe056 100644 --- a/src/servers/src/http/prometheus.rs +++ b/src/servers/src/http/prometheus.rs @@ -753,7 +753,7 @@ pub async fn label_values_query( .collect(); let mut label_values: Vec<_> = label_values.into_iter().collect(); - label_values.sort(); + label_values.sort_unstable(); let mut resp = PrometheusJsonResponse::success(PrometheusResponse::LabelValues(label_values)); resp.resp_metrics = merge_map; resp