From d04dfcac0b3c66b60225ee2299e07c95553710b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Pazos?= Date: Thu, 9 Mar 2023 09:58:55 -0300 Subject: [PATCH 1/3] Prefix 'out-of-order-blocks-external-label-enabled' with '.ingester' --- CHANGELOG.md | 2 +- cmd/mimir/config-descriptor.json | 2 +- cmd/mimir/help-all.txt.tmpl | 4 ++-- pkg/util/validation/limits.go | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16ab7ba5772..3e15db50667 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,7 +72,7 @@ Querying with using `{__mimir_storage__="ephemeral"}` selector no longer works. * [FEATURE] Distributor, ingester: ingestion of native histograms. The new per-tenant limit `-ingester.native-histograms-ingestion-enabled` controls whether native histograms are stored or ignored. #4159 * [FEATURE] Query-frontend: Introduce experimental `-query-frontend.query-sharding-target-series-per-shard` to allow query sharding to take into account cardinality of similar requests executed previously. This feature uses the same cache that's used for results caching. #4121 #4177 #4188 #4254 * [ENHANCEMENT] Go: update go to 1.20.1. #4266 -* [ENHANCEMENT] Ingester: added `out_of_order_blocks_external_label_enabled` shipper option to label out-of-order blocks before shipping them to cloud storage. #4182 #4297 +* [ENHANCEMENT] Ingester: added `out_of_order_blocks_external_label_enabled` shipper option to label out-of-order blocks before shipping them to cloud storage. #4182 #4297 #4440 * [ENHANCEMENT] Ruler: introduced concurrency when loading per-tenant rules configuration. This improvement is expected to speed up the ruler start up time in a Mimir cluster with a large number of tenants. #4258 * [ENHANCEMENT] Compactor: Add `reason` label to `cortex_compactor_runs_failed_total`. The value can be `shutdown` or `error`. #4012 * [ENHANCEMENT] Store-gateway: enforce `max_fetched_series_per_query`. #4056 diff --git a/cmd/mimir/config-descriptor.json b/cmd/mimir/config-descriptor.json index 3111805bb15..15e1258086d 100644 --- a/cmd/mimir/config-descriptor.json +++ b/cmd/mimir/config-descriptor.json @@ -3092,7 +3092,7 @@ "desc": "Whether the shipper should label out-of-order blocks with an external label before uploading them. Setting this label will compact out-of-order blocks separately from non-out-of-order blocks", "fieldValue": null, "fieldDefaultValue": false, - "fieldFlag": "out-of-order-blocks-external-label-enabled", + "fieldFlag": "ingester.out-of-order-blocks-external-label-enabled", "fieldType": "boolean", "fieldCategory": "experimental" }, diff --git a/cmd/mimir/help-all.txt.tmpl b/cmd/mimir/help-all.txt.tmpl index b2dfff38b80..8bed13a8cba 100644 --- a/cmd/mimir/help-all.txt.tmpl +++ b/cmd/mimir/help-all.txt.tmpl @@ -1183,6 +1183,8 @@ Usage of ./cmd/mimir/mimir: Period at which metadata we have not seen will remain in memory before being deleted. (default 10m0s) -ingester.native-histograms-ingestion-enabled [experimental] Enable ingestion of native histogram samples. If false, native histogram samples are ignored without an error. + -ingester.out-of-order-blocks-external-label-enabled + [experimental] Whether the shipper should label out-of-order blocks with an external label before uploading them. Setting this label will compact out-of-order blocks separately from non-out-of-order blocks -ingester.out-of-order-time-window duration [experimental] Non-zero value enables out-of-order support for most recent samples that are within the time window in relation to the TSDB's maximum time, i.e., within [db.maxTime-timeWindow, db.maxTime]). The ingester will need more memory as a factor of rate of out-of-order samples being ingested and the number of series that are getting out-of-order samples. If query falls into this window, cached results will use value from -query-frontend.results-cache-ttl-for-out-of-order-time-window option to specify TTL for resulting cache entry. -ingester.rate-update-period duration @@ -1359,8 +1361,6 @@ Usage of ./cmd/mimir/mimir: Log debug transport messages. Note: global log.level must be at debug level as well. -modules List available values that can be used as target. - -out-of-order-blocks-external-label-enabled - [experimental] Whether the shipper should label out-of-order blocks with an external label before uploading them. Setting this label will compact out-of-order blocks separately from non-out-of-order blocks -overrides-exporter.ring.consul.acl-token string ACL Token used to interact with Consul. -overrides-exporter.ring.consul.cas-retry-delay duration diff --git a/pkg/util/validation/limits.go b/pkg/util/validation/limits.go index e0e7a9a4e71..1bf57d173a3 100644 --- a/pkg/util/validation/limits.go +++ b/pkg/util/validation/limits.go @@ -210,7 +210,7 @@ func (l *Limits) RegisterFlags(f *flag.FlagSet) { f.Var(&l.ActiveSeriesCustomTrackersConfig, "ingester.active-series-custom-trackers", "Additional active series metrics, matching the provided matchers. Matchers should be in form :, like 'foobar:{foo=\"bar\"}'. Multiple matchers can be provided either providing the flag multiple times or providing multiple semicolon-separated values to a single flag.") f.Var(&l.OutOfOrderTimeWindow, "ingester.out-of-order-time-window", fmt.Sprintf("Non-zero value enables out-of-order support for most recent samples that are within the time window in relation to the TSDB's maximum time, i.e., within [db.maxTime-timeWindow, db.maxTime]). The ingester will need more memory as a factor of rate of out-of-order samples being ingested and the number of series that are getting out-of-order samples. If query falls into this window, cached results will use value from -%s option to specify TTL for resulting cache entry.", resultsCacheTTLForOutOfOrderWindowFlag)) f.BoolVar(&l.NativeHistogramsIngestionEnabled, "ingester.native-histograms-ingestion-enabled", false, "Enable ingestion of native histogram samples. If false, native histogram samples are ignored without an error.") - f.BoolVar(&l.OutOfOrderBlocksExternalLabelEnabled, "out-of-order-blocks-external-label-enabled", false, "Whether the shipper should label out-of-order blocks with an external label before uploading them. Setting this label will compact out-of-order blocks separately from non-out-of-order blocks") + f.BoolVar(&l.OutOfOrderBlocksExternalLabelEnabled, "ingester.out-of-order-blocks-external-label-enabled", false, "Whether the shipper should label out-of-order blocks with an external label before uploading them. Setting this label will compact out-of-order blocks separately from non-out-of-order blocks") f.StringVar(&l.SeparateMetricsGroupLabel, "validation.separate-metrics-group-label", "", "Label used to define the group label for metrics separation. For each write request, the group is obtained from the first non-empty group label from the first timeseries in the incoming list of timeseries. Specific distributor and ingester metrics will be further separated adding a 'group' label with group label's value. Currently applies to the following metrics: cortex_discarded_samples_total") From 4f9fc6a906627e985d7a37dbbef98c047bb09538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Pazos?= Date: Thu, 9 Mar 2023 10:13:30 -0300 Subject: [PATCH 2/3] make doc --- docs/sources/mimir/references/configuration-parameters/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sources/mimir/references/configuration-parameters/index.md b/docs/sources/mimir/references/configuration-parameters/index.md index 373018fdb23..b5c47c17613 100644 --- a/docs/sources/mimir/references/configuration-parameters/index.md +++ b/docs/sources/mimir/references/configuration-parameters/index.md @@ -2606,7 +2606,7 @@ The `limits` block configures default and per-tenant limits imposed by component # (experimental) Whether the shipper should label out-of-order blocks with an # external label before uploading them. Setting this label will compact # out-of-order blocks separately from non-out-of-order blocks -# CLI flag: -out-of-order-blocks-external-label-enabled +# CLI flag: -ingester.out-of-order-blocks-external-label-enabled [out_of_order_blocks_external_label_enabled: | default = false] # (experimental) Label used to define the group label for metrics separation. From db9c4979100c2a0fde3d869d668e5357f5c0aeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Pazos?= Date: Thu, 9 Mar 2023 11:11:48 -0300 Subject: [PATCH 3/3] Fix changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e15db50667..b6861c72d13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Grafana Mimir +* [CHANGE] Ingester: changed experimental CLI flag from `-out-of-order-blocks-external-label-enabled` to `-ingester.out-of-order-blocks-external-label-enabled` #4440 * [CHANGE] Store-gateway: The following metrics have been removed: #4332 * `cortex_bucket_store_series_get_all_duration_seconds` * `cortex_bucket_store_series_merge_duration_seconds` @@ -72,7 +73,7 @@ Querying with using `{__mimir_storage__="ephemeral"}` selector no longer works. * [FEATURE] Distributor, ingester: ingestion of native histograms. The new per-tenant limit `-ingester.native-histograms-ingestion-enabled` controls whether native histograms are stored or ignored. #4159 * [FEATURE] Query-frontend: Introduce experimental `-query-frontend.query-sharding-target-series-per-shard` to allow query sharding to take into account cardinality of similar requests executed previously. This feature uses the same cache that's used for results caching. #4121 #4177 #4188 #4254 * [ENHANCEMENT] Go: update go to 1.20.1. #4266 -* [ENHANCEMENT] Ingester: added `out_of_order_blocks_external_label_enabled` shipper option to label out-of-order blocks before shipping them to cloud storage. #4182 #4297 #4440 +* [ENHANCEMENT] Ingester: added `out_of_order_blocks_external_label_enabled` shipper option to label out-of-order blocks before shipping them to cloud storage. #4182 #4297 * [ENHANCEMENT] Ruler: introduced concurrency when loading per-tenant rules configuration. This improvement is expected to speed up the ruler start up time in a Mimir cluster with a large number of tenants. #4258 * [ENHANCEMENT] Compactor: Add `reason` label to `cortex_compactor_runs_failed_total`. The value can be `shutdown` or `error`. #4012 * [ENHANCEMENT] Store-gateway: enforce `max_fetched_series_per_query`. #4056