This release contains 114 contributions from 28 contributors. Thank you!
Some notable changes release are:
- Remove support for chunks storage
- Experimental support for vertical query sharding
- Enable PromQL
@
modifier with negative offset always - Added configurations for Azure MSI in blocks-storage
- New limits (Querier/QueryFrontend)
- OpenTelemetry Bridge for Tracing
- Multiples performance improvements and bug fixes
Cortex
- [CHANGE] Remove support for chunks storage entirely. If you are using chunks storage on a previous version, you must migrate your data on version 1.12 or earlier. Before upgrading to this release, you should also remove any deprecated chunks-related configuration, as this release will no longer accept that. The following flags are gone:
-dynamodb.*
-metrics.*
-s3.*
-azure.*
-bigtable.*
-gcs.*
-cassandra.*
-boltdb.*
-local.*
- some
-ingester
flags:-ingester.wal-enabled
-ingester.checkpoint-enabled
-ingester.recover-from-wal
-ingester.wal-dir
-ingester.checkpoint-duration
-ingester.flush-on-shutdown-with-wal-enabled
-ingester.max-transfer-retries
-ingester.max-samples-per-query
-ingester.min-chunk-length
-ingester.flush-period
-ingester.retain-period
-ingester.max-chunk-idle
-ingester.max-stale-chunk-idle
-ingester.flush-op-timeout
-ingester.max-chunk-age
-ingester.chunk-age-jitter
-ingester.concurrent-flushes
-ingester.spread-flushes
-store.*
except-store.engine
and-store.max-query-length
-store.query-chunk-limit
was deprecated and replaced by-querier.max-fetched-chunks-per-query
-deletes.*
-grpc-store.*
-flusher.wal-dir
,-flusher.concurrent-flushes
,-flusher.flush-op-timeout
- [CHANGE] Remove support for alertmanager and ruler legacy store configuration. Before upgrading, you need to convert your configuration to use the
alertmanager-storage
andruler-storage
configuration on the version that you're already running, then upgrade. - [CHANGE] Disables TSDB isolation. #4825
- [CHANGE] Drops support Prometheus 1.x rule format on configdb. #4826
- [CHANGE] Removes
-ingester.stream-chunks-when-using-blocks
experimental flag and stream chunks by default whenquerier.ingester-streaming
is enabled. #4864 - [CHANGE] Compactor: Added
cortex_compactor_runs_interrupted_total
to separate compaction interruptions from failures - [CHANGE] Enable PromQL
@
modifier, negative offset always. #4927 - [CHANGE] Store-gateway: Add user label to
cortex_bucket_store_blocks_loaded
metric. #4918 - [CHANGE] AlertManager: include
status
label incortex_alertmanager_alerts_received_total
. #4907 - [FEATURE] Compactor: Added
-compactor.block-files-concurrency
allowing to configure number of go routines for download/upload block files during compaction. #4784 - [FEATURE] Compactor: Added
-compactor.blocks-fetch-concurrency
allowing to configure number of go routines for blocks during compaction. #4787 - [FEATURE] Compactor: Added configurations for Azure MSI in blocks-storage, ruler-storage and alertmanager-storage. #4818
- [FEATURE] Ruler: Add support to pass custom implementations of queryable and pusher. #4782
- [FEATURE] Create OpenTelemetry Bridge for Tracing. Now cortex can send traces to multiple destinations using OTEL Collectors. #4834
- [FEATURE] Added
-api.http-request-headers-to-log
allowing for the addition of HTTP Headers to logs #4803 - [FEATURE] Distributor: Added a new limit
-validation.max-labels-size-bytes
allowing to limit the combined size of labels for each timeseries. #4848 - [FEATURE] Storage/Bucket: Added
-*.s3.bucket-lookup-type
allowing to configure the s3 bucket lookup type. #4794 - [FEATURE] QueryFrontend: Implement experimental vertical sharding at query frontend for range/instant queries. #4863
- [FEATURE] QueryFrontend: Support vertical sharding for subqueries. #4955
- [FEATURE] Querier: Added a new limit
-querier.max-fetched-data-bytes-per-query
allowing to limit the maximum size of all data in bytes that a query can fetch from each ingester and storage. #4854 - [FEATURE] Added 2 flags
-alertmanager.alertmanager-client.grpc-compression
and-querier.store-gateway-client.grpc-compression
to configure compression methods for grpc clients. #4889 - [ENHANCEMENT] AlertManager: Retrying AlertManager Get Requests (Get Alertmanager status, Get Alertmanager Receivers) on next replica on error #4840
- [ENHANCEMENT] Querier/Ruler: Retry store-gateway in case of unexpected failure, instead of failing the query. #4532 #4839
- [ENHANCEMENT] Ring: DoBatch prioritize 4xx errors when failing. #4783
- [ENHANCEMENT] Cortex now built with Go 1.18. #4829
- [ENHANCEMENT] Ingester: Prevent ingesters to become unhealthy during wall replay. #4847
- [ENHANCEMENT] Compactor: Introduced visit marker file for blocks so blocks are under compaction will not be picked up by another compactor. #4805
- [ENHANCEMENT] Distributor: Add label name to labelValueTooLongError. #4855
- [ENHANCEMENT] Enhance traces with hostname information. #4898
- [ENHANCEMENT] Improve the documentation around limits. #4905
- [ENHANCEMENT] Distributor: cache user overrides to reduce lock contention. #4904
- [BUGFIX] Storage/Bucket: Enable AWS SDK for go authentication for s3 to fix IMDSv1 authentication. #4897
- [BUGFIX] Memberlist: Add join with no retrying when starting service. #4804
- [BUGFIX] Ruler: Fix /ruler/rule_groups returns YAML with extra fields. #4767
- [BUGFIX] Respecting
-tracing.otel.sample-ratio
configuration when enabling OpenTelemetry tracing with X-ray. #4862 - [BUGFIX] QueryFrontend: fixed query_range requests when query has
start
equals toend
. #4877 - [BUGFIX] AlertManager: fixed issue introduced by #4495 where templates files were being deleted when using alertmanager local store. #4890
- [BUGFIX] Ingester: fixed incorrect logging at the start of ingester block shipping logic. #4934
- [BUGFIX] Storage/Bucket: fixed global mark missing on deletion. #4949
- [BUGFIX] QueryFrontend/Querier: fixed regression added by #4863 where we stopped compressing the response between querier and query frontend. #4960