From fe97558a81005101a9db96dae0e749b4786f7547 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Wed, 24 Jun 2020 11:15:40 +0100 Subject: [PATCH] Prepare Release 1.2 (#2769) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Prepare Release 1.2 Signed-off-by: Bryan Boreham * Add CHANGELOG.md entry for PR 2571 (#2773) Signed-off-by: Peter Štibraný --- CHANGELOG.md | 23 ++++++++++++++--------- VERSION | 2 +- docs/production/storage-cassandra.md | 4 ++-- k8s/alertmanager-dep.yaml | 2 +- k8s/configs-dep.yaml | 2 +- k8s/distributor-dep.yaml | 2 +- k8s/ingester-dep.yaml | 2 +- k8s/querier-dep.yaml | 2 +- k8s/query-frontend-dep.yaml | 2 +- k8s/ruler-dep.yaml | 2 +- k8s/table-manager-dep.yaml | 2 +- 11 files changed, 25 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2af0ad87df..ef9e92526a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## master / unreleased +## 1.2.0 / 2020-06-xx + * [CHANGE] Metric `cortex_kv_request_duration_seconds` now includes `name` label to denote which client is being used as well as the `backend` label to denote the KV backend implementation in use. #2648 * [CHANGE] Experimental Ruler: Rule groups persisted to object storage using the experimental API have an updated object key encoding to better handle special characters. Rule groups previously-stored using object storage must be renamed to the new format. #2646 * [CHANGE] Query Frontend now uses Round Robin to choose a tenant queue to service next. #2553 @@ -52,11 +54,13 @@ * [CHANGE] Memberlist KV client is no longer considered experimental. #2725 * [CHANGE] Change target flag for purger from `data-purger` to `purger` and make delete request cancellation duration configurable. #2760 * [CHANGE] Removed `-store.fullsize-chunks` option which was undocumented and unused (it broke ingester hand-overs). #2656 +* [CHANGE] Query with no metric name that has previously resulted in HTTP status code 500 now returns status code 422 instead. #2571 * [FEATURE] TLS config options added for GRPC clients in Querier (Query-frontend client & Ingester client), Ruler, Store Gateway, as well as HTTP client in Config store client. #2502 * [FEATURE] The flag `-frontend.max-cache-freshness` is now supported within the limits overrides, to specify per-tenant max cache freshness values. The corresponding YAML config parameter has been changed from `results_cache.max_freshness` to `limits_config.max_cache_freshness`. The legacy YAML config parameter (`results_cache.max_freshness`) will continue to be supported till Cortex release `v1.4.0`. #2609 * [FEATURE] Experimental gRPC Store: Added support to 3rd parties index and chunk stores using gRPC client/server plugin mechanism. #2220 * [ENHANCEMENT] Propagate GOPROXY value when building `build-image`. This is to help the builders building the code in a Network where default Go proxy is not accessible (e.g. when behind some corporate VPN). #2741 * [ENHANCEMENT] Querier: Added metric `cortex_querier_request_duration_seconds` for all requests to the querier. #2708 +* [ENHANCEMENT] Cortex is now built with Go 1.14. #2480 #2749 #2753 * [ENHANCEMENT] Experimental TSDB: added the following metrics to the ingester: #2580 #2583 #2589 #2654 * `cortex_ingester_tsdb_appender_add_duration_seconds` * `cortex_ingester_tsdb_appender_commit_duration_seconds` @@ -91,8 +95,7 @@ * [ENHANCEMENT] Query-tee: added support to `/metadata`, `/alerts`, and `/rules` endpoints #2600 * [ENHANCEMENT] Query-tee: added support to query results comparison between two different backends. The comparison is disabled by default and can be enabled via `-proxy.compare-responses=true`. #2611 * [ENHANCEMENT] Query-tee: improved the query-tee to not wait all backend responses before sending back the response to the client. The query-tee now sends back to the client first successful response, while honoring the `-backend.preferred` option. #2702 -* [ENHANCEMENT] Thanos and Prometheus upgraded. #2604 #2634 #2686 - * TSDB now supports isolation of append and queries. +* [ENHANCEMENT] Thanos and Prometheus upgraded. #2602 #2604 #2634 #2659 #2686 #2756 * TSDB now holds less WAL files after Head Truncation. * TSDB now does memory-mapping of Head chunks and reduces memory usage. * [ENHANCEMENT] Experimental TSDB: decoupled blocks deletion from blocks compaction in the compactor, so that blocks deletion is not blocked by a busy compactor. The following metrics have been added: #2623 @@ -111,13 +114,14 @@ * `/compactor/ring` * `/ruler/ring` * `/services` -* [ENHANCEMENT] Add `-cassandra.num-connections` to allow increasing the number of TCP connections to each Cassandra server. #2666 -* [ENHANCEMENT] Use separate Cassandra clients and connections for reads and writes. #2666 -* [ENHANCEMENT] Add `-cassandra.reconnect-interval` to allow specifying the reconnect interval to a Cassandra server that has been marked `DOWN` by the gocql driver. Also change the default value of the reconnect interval from `60s` to `1s`. #2687 +* [ENHANCEMENT] Experimental Cassandra backend: Add `-cassandra.num-connections` to allow increasing the number of TCP connections to each Cassandra server. #2666 +* [ENHANCEMENT] Experimental Cassandra backend: Use separate Cassandra clients and connections for reads and writes. #2666 +* [ENHANCEMENT] Experimental Cassandra backend: Add `-cassandra.reconnect-interval` to allow specifying the reconnect interval to a Cassandra server that has been marked `DOWN` by the gocql driver. Also change the default value of the reconnect interval from `60s` to `1s`. #2687 +* [ENHANCEMENT] Experimental Cassandra backend: Add option `-cassandra.convict-hosts-on-failure=false` to not convict host of being down when a request fails. #2684 * [ENHANCEMENT] Experimental TSDB: Applied a jitter to the period bucket scans in order to better distribute bucket operations over the time and increase the probability of hitting the shared cache (if configured). #2693 * [ENHANCEMENT] Experimental TSDB: Series limit per user and per metric now work in TSDB blocks. #2676 * [ENHANCEMENT] Experimental Memberlist: Added ability to periodically rejoin the memberlist cluster. #2724 -* [ENHANCEMENT] Experimental Delete Series: Added the following metrics for monitoring processing of delete requests: #2445 +* [ENHANCEMENT] Experimental Delete Series: Added the following metrics for monitoring processing of delete requests: #2730 - `cortex_purger_load_pending_requests_attempts_total`: Number of attempts that were made to load pending requests with status. - `cortex_purger_oldest_pending_delete_request_age_seconds`: Age of oldest pending delete request in seconds. - `cortex_purger_pending_delete_requests_count`: Count of requests which are in process or are ready to be processed. @@ -126,7 +130,8 @@ * `cortex_querier_blocks_consistency_checks_total` * `cortex_querier_blocks_consistency_checks_failed_total` * `cortex_querier_storegateway_refetches_per_query` -* [ENHANCEMENT] Cortex is now built with Go 1.14. #2480 #2753 +* [ENHANCEMENT] Delete requests can now be canceled #2555 +* [ENHANCEMENT] Table manager can now provision tables for delete store #2546 * [BUGFIX] Ruler: Ensure temporary rule files with special characters are properly mapped and cleaned up. #2506 * [BUGFIX] Fixes #2411, Ensure requests are properly routed to the prometheus api embedded in the query if `-server.path-prefix` is set. #2372 * [BUGFIX] Experimental TSDB: fixed chunk data corruption when querying back series using the experimental blocks storage. #2400 @@ -134,12 +139,12 @@ * [BUGFIX] Experimental TSDB: fixed memory leak in ingesters. #2586 * [BUGFIX] QueryFrontend: fixed a situation where HTTP error is ignored and an incorrect status code is set. #2590 * [BUGFIX] Ingester: Fix an ingester starting up in the JOINING state and staying there forever. #2565 -* [BUGFIX] QueryFrontend: fixed a panic (`integer divide by zero`) in the query-frontend. The query-frontend now requires the `-querier.default-evaluation-interval` config to be set to the same value of the querier. #2603 +* [BUGFIX] QueryFrontend: fixed a panic (`integer divide by zero`) in the query-frontend. The query-frontend now requires the `-querier.default-evaluation-interval` config to be set to the same value of the querier. #2614 * [BUGFIX] Experimental TSDB: when the querier receives a `/series` request with a time range older than the data stored in the ingester, it now ignores the requested time range and returns known series anyway instead of returning an empty response. This aligns the behaviour with the chunks storage. #2617 * [BUGFIX] Cassandra: fixed an edge case leading to an invalid CQL query when querying the index on a Cassandra store. #2639 * [BUGFIX] Ingester: increment series per metric when recovering from WAL or transfer. #2674 * [BUGFIX] Fixed `wrong number of arguments for 'mget' command` Redis error when a query has no chunks to lookup from storage. #2700 -* [BUGFIX] Ingester: Automatically remove old tmp checkpoints, fixing a potential disk space leak after an ingester crashes. +* [BUGFIX] Ingester: Automatically remove old tmp checkpoints, fixing a potential disk space leak after an ingester crashes. #2726 ## 1.1.0 / 2020-05-21 diff --git a/VERSION b/VERSION index 1cc5f657e0..342171f77c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.0 \ No newline at end of file +1.2.0-rc.0 diff --git a/docs/production/storage-cassandra.md b/docs/production/storage-cassandra.md index 2d8a6cd667..b37fb04061 100644 --- a/docs/production/storage-cassandra.md +++ b/docs/production/storage-cassandra.md @@ -109,12 +109,12 @@ storage: ``` The latest tag is not published for the Cortex docker image. Visit quay.io/repository/cortexproject/cortex -to find the latest stable version tag and use it in the command bellow (currently it is `v1.1.0`). +to find the latest stable version tag and use it in the command below (currently it is `v1.2.0`). Run Cortex using the latest stable version: ``` -docker run -d --name=cortex -v $(pwd)/single-process-config.yaml:/etc/single-process-config.yaml -p 9009:9009 quay.io/cortexproject/cortex:v1.1.0 -config.file=/etc/single-process-config.yaml +docker run -d --name=cortex -v $(pwd)/single-process-config.yaml:/etc/single-process-config.yaml -p 9009:9009 quay.io/cortexproject/cortex:v1.2.0 -config.file=/etc/single-process-config.yaml ``` In case you prefer to run the master version, please follow this [documentation](../getting-started/getting-started-chunks.md) on how to build Cortex from source. diff --git a/k8s/alertmanager-dep.yaml b/k8s/alertmanager-dep.yaml index 215bfaaf48..fce355708d 100644 --- a/k8s/alertmanager-dep.yaml +++ b/k8s/alertmanager-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: alertmanager - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=alertmanager diff --git a/k8s/configs-dep.yaml b/k8s/configs-dep.yaml index 0615f389c1..d4fc13e68f 100644 --- a/k8s/configs-dep.yaml +++ b/k8s/configs-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: configs - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=configs diff --git a/k8s/distributor-dep.yaml b/k8s/distributor-dep.yaml index c4d9d3ec69..2abee7c17d 100644 --- a/k8s/distributor-dep.yaml +++ b/k8s/distributor-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: distributor - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=distributor diff --git a/k8s/ingester-dep.yaml b/k8s/ingester-dep.yaml index 51245c8b48..9a3d0e5ca1 100644 --- a/k8s/ingester-dep.yaml +++ b/k8s/ingester-dep.yaml @@ -37,7 +37,7 @@ spec: containers: - name: ingester - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=ingester diff --git a/k8s/querier-dep.yaml b/k8s/querier-dep.yaml index 10147a6d83..cf58a56053 100644 --- a/k8s/querier-dep.yaml +++ b/k8s/querier-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: querier - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=querier diff --git a/k8s/query-frontend-dep.yaml b/k8s/query-frontend-dep.yaml index 19332461f6..6e3e574b6f 100644 --- a/k8s/query-frontend-dep.yaml +++ b/k8s/query-frontend-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: query-frontend - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=query-frontend diff --git a/k8s/ruler-dep.yaml b/k8s/ruler-dep.yaml index e0a04a26bc..394232dc16 100644 --- a/k8s/ruler-dep.yaml +++ b/k8s/ruler-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: ruler - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=ruler diff --git a/k8s/table-manager-dep.yaml b/k8s/table-manager-dep.yaml index dc2c4dab5a..ff42f47463 100644 --- a/k8s/table-manager-dep.yaml +++ b/k8s/table-manager-dep.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: table-manager - image: quay.io/cortexproject/cortex:v1.1.0 + image: quay.io/cortexproject/cortex:v1.2.0 imagePullPolicy: IfNotPresent args: - -target=table-manager