- [CHANGE] The frontend component has been refactored to be easier to re-use. When upgrading the frontend, cache entries will be discarded and re-created with the new protobuf schema. #1734
- [CHANGE] Remove direct DB/API access from the ruler
- [CHANGE] Removed
Deltaencoding. Any old chunks withDeltaencoding cannot be read anymore. Ifingester.chunk-encodingis set toDeltathe ingester will fail to start. #1706 - [CHANGE] Setting
-ingester.max-transfer-retriesto 0 now disables hand-over when ingester is shutting down. Previously, zero meant infinite number of attempts. #1771 - [FEATURE] Global limit on the max series per user and metric #1760
-ingester.max-global-series-per-user-ingester.max-global-series-per-metric- Requires
-distributor.replication-factorand-distributor.shard-by-all-labelsset for the ingesters too
- [FEATURE] Flush chunks with stale markers early with
ingester.max-stale-chunk-idle. #1759 - [FEATURE] EXPERIMENTAL: Added new KV Store backend based on memberlist library. Components can gossip about tokens and ingester states, instead of using Consul or Etcd. #1721
- [FEATURE] Allow Query Frontend to log slow queries with
frontend.log-queries-longer-than. #1744 - [ENHANCEMENT] Allocation improvements in adding samples to Chunk. #1706
- [ENHANCEMENT] Consul client now follows recommended practices for blocking queries wrt returned Index value. #1708
- [ENHANCEMENT] Consul client can optionally rate-limit itself during Watch (used e.g. by ring watchers) and WatchPrefix (used by HA feature) operations. Rate limiting is disabled by default. New flags added:
--consul.watch-rate-limit, and--consul.watch-burst-size. #1708 - [ENHANCEMENT] Added jitter to HA deduping heartbeats, configure using
distributor.ha-tracker.update-timeout-jitter-max#1534
This release adds support for Redis as an alternative to Memcached, and also includes many optimisations which reduce CPU and memory usage.
- [CHANGE] Gauge metrics were renamed to drop the
_totalsuffix. #1685- In Alertmanager,
alertmanager_configs_totalis nowalertmanager_configs - In Ruler,
scheduler_configs_totalis nowscheduler_configs scheduler_groups_totalis nowscheduler_groups.
- In Alertmanager,
- [CHANGE]
--alertmanager.configs.auto-slack-rootflag was dropped as auto Slack root is not supported anymore. #1597 - [CHANGE] In table-manager, default DynamoDB capacity was reduced from 3,000 units to 1,000 units. We recommend you do not run with the defaults: find out what figures are needed for your environment and set that via
-dynamodb.periodic-table.write-throughputand-dynamodb.chunk-table.write-throughput. - [FEATURE] Add Redis support for caching #1612
- [FEATURE] Allow spreading chunk writes across multiple S3 buckets #1625
- [ENHANCEMENT] Upgraded Prometheus to 2.12.0 and Alertmanager to 0.19.0. #1597
- [ENHANCEMENT] Cortex is now built with Go 1.13 #1675, #1676, #1679
- [ENHANCEMENT] Many optimisations, mostly impacting ingester and querier: #1574, #1624, #1638, #1644, #1649, #1654, #1702
Full list of changes: https://github.com/cortexproject/cortex/compare/v0.2.0...v0.3.0
This release has several exciting features, the most notable of them being setting -ingester.spread-flushes to potentially reduce your storage space by upto 50%.
- [CHANGE] Flags changed due to changes upstream in Prometheus Alertmanager #929:
alertmanager.mesh.listen-addressis nowcluster.listen-addressalertmanager.mesh.peer.hostandalertmanager.mesh.peer.servicecan be replaced bycluster.peeralertmanager.mesh.hardware-address,alertmanager.mesh.nickname,alertmanager.mesh.password, andalertmanager.mesh.peer.refresh-intervalall disappear.
- [CHANGE] --claim-on-rollout flag deprecated; feature is now always on #1566
- [CHANGE] Retention period must now be a multiple of periodic table duration #1564
- [CHANGE] The value for the name label for the chunks memcache in all
cortex_cache_metrics is nowchunksmemcache(before it wasmemcache) #1569 - [FEATURE] Makes the ingester flush each timeseries at a specific point in the max-chunk-age cycle with
-ingester.spread-flushes. This means multiple replicas of a chunk are very likely to contain the same contents which cuts chunk storage space by up to 66%. #1578 - [FEATURE] Make minimum number of chunk samples configurable per user #1620
- [FEATURE] Honor HTTPS for custom S3 URLs #1603
- [FEATURE] You can now point the query-frontend at a normal Prometheus for parallelisation and caching #1441
- [FEATURE] You can now specify
http_configon alert receivers #929 - [FEATURE] Add option to use jump hashing to load balance requests to memcached #1554
- [FEATURE] Add status page for HA tracker to distributors #1546
- [FEATURE] The distributor ring page is now easier to read with alternate rows grayed out #1621
- [CHANGE] HA Tracker flags were renamed to provide more clarity #1465
distributor.accept-ha-labelsis nowdistributor.ha-tracker.enabledistributor.accept-ha-samplesis nowdistributor.ha-tracker.enable-for-all-usersha-tracker.replicais nowdistributor.ha-tracker.replicaha-tracker.clusteris nowdistributor.ha-tracker.cluster
- [FEATURE] You can specify "heap ballast" to reduce Go GC Churn #1489
- [BUGFIX] HA Tracker no longer always makes a request to Consul/Etcd when a request is not from the active replica #1516
- [BUGFIX] Queries are now correctly cancelled by the query-frontend #1508