-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Open
Description
What did you do?
/api/v1/read is supposed to always give a sorted series set as a response. Consider the following:
External labels are region: foo.
Series without any external labels:
aaa{instance="bbb", job="etcd-prometheus-exporter", service="etcd-prometheus-exporter", toposphere="test1"} 1
aaa{instance="bbb", job="etcd-prometheus-exporter", region="bar", service="etcd-prometheus-exporter", toposphere="test1"} 0
aaa{instance="bbb", job="etcd-prometheus-exporter", region="bar", service="etcd-prometheus-exporter", toposphere="test2"} 0
aaa{instance="bbb", job="etcd-prometheus-exporter", region="foo", service="etcd-prometheus-exporter", toposphere="test1"} 1
aaa{instance="bbb", job="etcd-prometheus-exporter", region="foo", service="etcd-prometheus-exporter", toposphere="test2"} 1
prometheus/storage/remote/codec.go
Line 230 in 03e549c
| lbls = MergeLabels(labelsToLabelsProto(series.Labels(), lbls), sortedExternalLabels) |
region: foo if it does not exist while iterating.
What did you expect to see?
I expected to see an error? that the response cannot contain the same label set. Not sure, though.
What did you see instead? Under which circumstances?
The result is the following:
aaa{instance="bbb", job="etcd-prometheus-exporter", region="foo", service="etcd-prometheus-exporter", toposphere="test1"} 1
aaa{instance="bbb", job="etcd-prometheus-exporter", region="bar", service="etcd-prometheus-exporter", toposphere="test1"} 0
aaa{instance="bbb", job="etcd-prometheus-exporter", region="bar", service="etcd-prometheus-exporter", toposphere="test2"} 0
aaa{instance="bbb", job="etcd-prometheus-exporter", region="foo", service="etcd-prometheus-exporter", toposphere="test1"} 1
aaa{instance="bbb", job="etcd-prometheus-exporter", region="foo", service="etcd-prometheus-exporter", toposphere="test2"} 1
System information
No response
Prometheus version
No response
Prometheus configuration file
No response
Alertmanager version
No response
Alertmanager configuration file
No response
Logs
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels