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
* Add concurrency to the mergeQueryable
This should significantly parallelize tenant federation queries. This
also extends aligns the error and warning wrapping and adds tests for
those cases.
Signed-off-by: Christian Simon <[email protected]>
* Apply suggestions from code review
Co-authored-by: Steve Simpson <[email protected]>
Co-authored-by: Michel Hollands <[email protected]>
Signed-off-by: Christian Simon <[email protected]>
* Simplify concurrency of mergeDistinctStringSlice
* Avoid background goroutine receiving results
* Propagate errGroup context
* Improve documentation comments
Signed-off-by: Christian Simon <[email protected]>
* Add changelog entry
Signed-off-by: Christian Simon <[email protected]>
* Limit maximum concurrency of mergeQueryable
In the first instance the limit is hard-coded, but that might be an
option that can configured.
Signed-off-by: Christian Simon <[email protected]>
* End job early if context already closed
Signed-off-by: Christian Simon <[email protected]>
* Handle context cancellation in concurrency.ForEach
This is beneficial if the methods are not handling context cancellation
themselves.
Signed-off-by: Christian Simon <[email protected]>
* Avoid using interface pointer
Signed-off-by: Christian Simon <[email protected]>
* Handle errors properly for storage.SeriesSet
Signed-off-by: Christian Simon <[email protected]>
* Improve warning and error message readability
Signed-off-by: Christian Simon <[email protected]>
* Simplify mockTenantQueryableWithFilter
Reuse queryable struct and avoid using the context for passing
parameters around.
Signed-off-by: Christian Simon <[email protected]>
* Improve wording on comment
Co-authored-by: Jacob Lisi <[email protected]>
Signed-off-by: Christian Simon <[email protected]>
Co-authored-by: Steve Simpson <[email protected]>
Co-authored-by: Michel Hollands <[email protected]>
Co-authored-by: Jacob Lisi <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+19-2
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,16 @@
11
11
*`-alertmanager.cluster.advertise-address` instead of `-cluster.advertise-address`
12
12
*`-alertmanager.cluster.peers` instead of `-cluster.peer`
13
13
*`-alertmanager.cluster.peer-timeout` instead of `-cluster.peer-timeout`
14
+
*[CHANGE] Blocks storage: removed the config option `-blocks-storage.bucket-store.index-cache.postings-compression-enabled`, which was deprecated in Cortex 1.6. Postings compression is always enabled. #4101
15
+
*[CHANGE] Querier: removed the config option `-store.max-look-back-period`, which was deprecated in Cortex 1.6 and was used only by the chunks storage. You should use `-querier.max-query-lookback` instead. #4101
16
+
*[CHANGE] Query Frontend: removed the config option `-querier.compress-http-responses`, which was deprecated in Cortex 1.6. You should use`-api.response-compression-enabled` instead. #4101
17
+
*[CHANGE] Runtime-config / overrides: removed the config options `-limits.per-user-override-config` (use `-runtime-config.file`) and `-limits.per-user-override-period` (use `-runtime-config.reload-period`), both deprecated since Cortex 0.6.0. #4112
18
+
*[FEATURE] The following features have been marked as stable: #4101
19
+
- Shuffle-sharding
20
+
- Querier support for querying chunks and blocks store at the same time
21
+
- Tracking of active series and exporting them as metrics (`-ingester.active-series-metrics-enabled` and related flags)
22
+
- Blocks storage: lazy mmap of block indexes in the store-gateway (`-blocks-storage.bucket-store.index-header-lazy-loading-enabled`)
23
+
- Ingester: close idle TSDB and remove them from local disk (`-blocks-storage.tsdb.close-idle-tsdb-timeout`)
14
24
*[FEATURE] Memberlist: add TLS configuration options for the memberlist transport layer used by the gossip KV store. #4046
15
25
* New flags added for memberlist communication:
16
26
*`-memberlist.tls-enabled`
@@ -27,6 +37,8 @@
27
37
*[ENHANCEMENT] Ruler: added the following metrics when ruler sharding is enabled: #3916
28
38
*`cortex_ruler_clients`
29
39
*`cortex_ruler_client_request_duration_seconds`
40
+
*[ENHANCEMENT] Alertmanager: Add API endpoint to list all tenant alertmanager configs: `GET /multitenant_alertmanager/configs`. #3529
41
+
*[ENHANCEMENT] Ruler: Add API endpoint to list all tenant ruler rule groups: `GET /ruler/rule_groups`. #3529
30
42
*[ENHANCEMENT] Query-frontend/scheduler: added querier forget delay (`-query-frontend.querier-forget-delay` and `-query-scheduler.querier-forget-delay`) to mitigate the blast radius in the event queriers crash because of a repeatedly sent "query of death" when shuffle-sharding is enabled. #3901
31
43
*[ENHANCEMENT] Query-frontend: reduced memory allocations when serializing query response. #3964
32
44
*[ENHANCEMENT] Querier / ruler: some optimizations to PromQL query engine. #3934#3989
@@ -36,13 +48,17 @@
36
48
*[ENHANCEMENT] Allow use of `y|w|d` suffixes for duration related limits and per-tenant limits. #4044
37
49
*[ENHANCEMENT] Query-frontend: Small optimization on top of PR #3968 to avoid unnecessary Extents merging. #4026
38
50
*[ENHANCEMENT] Add a metric `cortex_compactor_compaction_interval_seconds` for the compaction interval config value. #4040
39
-
*[ENHANCEMENT] Ingester: added following per-ingester (instance) limits: max number of series in memory (`-ingester.instance-limits.max-series`), max number of users in memory (`-ingester.instance-limits.max-tenants`), max ingestion rate (`-ingester.instance-limits.max-ingestion-rate`), and max inflight requests (`-ingester.instance-limits.max-inflight-push-requests`). These limits are only used when using blocks storage. Limits can also be configured using runtime-config feature, and current values are exported as `cortex_ingester_instance_limits` metric. #3992.
51
+
*[ENHANCEMENT] Ingester: added following per-ingester (instance) experimental limits: max number of series in memory (`-ingester.instance-limits.max-series`), max number of users in memory (`-ingester.instance-limits.max-tenants`), max ingestion rate (`-ingester.instance-limits.max-ingestion-rate`), and max inflight requests (`-ingester.instance-limits.max-inflight-push-requests`). These limits are only used when using blocks storage. Limits can also be configured using runtime-config feature, and current values are exported as `cortex_ingester_instance_limits` metric. #3992.
40
52
*[ENHANCEMENT] Cortex is now built with Go 1.16. #4062
41
-
*[ENHANCEMENT] Distributor: added per-distributor limits: max number of inflight requests (`-distributor.instance-limits.max-inflight-push-requests`) and max ingestion rate in samples/sec (`-distributor.instance-limits.max-ingestion-rate`). If not set, these two are unlimited. Also added metrics to expose current values (`cortex_distributor_inflight_push_requests`, `cortex_distributor_ingestion_rate_samples_per_second`) as well as limits (`cortex_distributor_instance_limits` with various `limit` label values). #4071
53
+
*[ENHANCEMENT] Distributor: added per-distributor experimental limits: max number of inflight requests (`-distributor.instance-limits.max-inflight-push-requests`) and max ingestion rate in samples/sec (`-distributor.instance-limits.max-ingestion-rate`). If not set, these two are unlimited. Also added metrics to expose current values (`cortex_distributor_inflight_push_requests`, `cortex_distributor_ingestion_rate_samples_per_second`) as well as limits (`cortex_distributor_instance_limits` with various `limit` label values). #4071
42
54
*[ENHANCEMENT] Ruler: Added `-ruler.enabled-tenants` and `-ruler.disabled-tenants` to explicitly enable or disable rules processing for specific tenants. #4074
43
55
*[ENHANCEMENT] Block Storage Ingester: `/flush` now accepts two new parameters: `tenant` to specify tenant to flush and `wait=true` to make call synchronous. Multiple tenants can be specified by repeating `tenant` parameter. If no `tenant` is specified, all tenants are flushed, as before. #4073
44
56
*[ENHANCEMENT] Alertmanager: validate configured `-alertmanager.web.external-url` and fail if ends with `/`. #4081
57
+
*[ENHANCEMENT] Alertmanager: added `-alertmanager.receivers-firewall.block.cidr-networks` and `-alertmanager.receivers-firewall.block.private-addresses` to block specific network addresses in HTTP-based Alertmanager receiver integrations. #4085
45
58
*[ENHANCEMENT] Allow configuration of Cassandra's host selection policy. #4069
59
+
*[ENHANCEMENT] Store-gateway: retry synching blocks if a per-tenant sync fails. #3975#4088
60
+
*[ENHANCEMENT] Add metric `cortex_tcp_connections` exposing the current number of accepted TCP connections. #4099
61
+
*[ENHANCEMENT] Querier: Allow federated queries to run concurrently. #4065
46
62
*[BUGFIX] Ruler-API: fix bug where `/api/v1/rules/<namespace>/<group_name>` endpoint return `400` instead of `404`. #4013
47
63
*[BUGFIX] Distributor: reverted changes done to rate limiting in #3825. #3948
48
64
*[BUGFIX] Ingester: Fix race condition when opening and closing tsdb concurrently. #3959
@@ -55,6 +71,7 @@
55
71
*[BUGFIX] Ruler: Rule group limit enforcement should now allow the same number of rules in a group as the limit. #3615
56
72
*[BUGFIX] Frontend, Query-scheduler: allow querier to notify about shutdown without providing any authentication. #4066
57
73
*[BUGFIX] Querier: fixed race condition causing queries to fail right after querier startup with the "empty ring" error. #4068
74
+
*[BUGFIX] Compactor: Increment `cortex_compactor_runs_failed_total` if compactor failed compact a single tenant. #4094
0 commit comments