You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,7 @@ We use *breaking* word for marking changes that are not backward compatible (rel
27
27
-[#2970](https://github.com/thanos-io/thanos/pull/2970) Store: Upgrade minio-go/v7 to fix slowness when running on EKS.
28
28
-[#2957](https://github.com/thanos-io/thanos/pull/2957) Rule: now sets all of the relevant fields properly; avoids a panic when `/api/v1/rules` is called and the time zone is _not_ UTC; `rules` field is an empty array now if no rules have been defined in a rule group.
29
29
-[#2976](https://github.com/thanos-io/thanos/pull/2976) Query: Better rounding for incoming query timestamps.
30
+
-[#3024](https://github.com/thanos-io/thanos/pull/3024) Query: consider group name and file for deduplication
Copy file name to clipboardExpand all lines: docs/proposals/202003_thanos_rules_federation.md
+21-1Lines changed: 21 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ Thanos Querier fans-out to all know Rules endpoints configured via `--rule` comm
61
61
62
62
Generally the deduplication logic is less complex than with time series, specifically:
63
63
64
-
* Deduplication happens first at the rule group level. The identifier is the group name.
64
+
* Deduplication happens first at the rule group level. The identifier is the group name and the group file.
65
65
* Then, per group name deduplication happens on the rule level, where:
66
66
67
67
1. the rule type (recording rule vs. alerting rule)
@@ -171,6 +171,26 @@ Given the following stream of incoming alerting rules will also result in two in
171
171
severity: critical
172
172
```
173
173
174
+
Scenario 4:
175
+
176
+
As specified, the group name and file fields are used for deduplication.
177
+
178
+
Given the following stream of incoming rule groups:
179
+
```text
180
+
group: a/file1
181
+
group: b/file1
182
+
group: a/file2
183
+
```
184
+
185
+
The output becomes:
186
+
```text
187
+
group: a/file1
188
+
group: a/file2
189
+
group: b/file1
190
+
```
191
+
192
+
Deduplication of included alerting/recording rules inside groups is described in the previous scenarios.
193
+
174
194
## Alternatives
175
195
176
196
* Cortex contains a sharded Ruler. Assigning rules to shards is done via Consul, though a gossip implementation is under development. Shards do not communicate with other shards. Rules come from a store (e.g. a Postgres database).
0 commit comments