Skip to content

Commit f52911d

Browse files
authored
Remove additional-query-queue-dimensions-enabled flag (#9135)
* Remove additional-query-queue-dimensions-enabled flag * Update CHANGELOG
1 parent 4b07da7 commit f52911d

File tree

6 files changed

+5
-53
lines changed

6 files changed

+5
-53
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
* `cortex_ruler_independent_rule_evaluation_concurrency_attempts_completed_total`
7676
* [ENHANCEMENT] Expose a new `s3.session-token` configuration option to enable using temporary security credentials. #8952
7777
* [ENHANCEMENT] Add HA deduplication features to the `mimir-microservices-mode` development environment. #9012
78-
* [ENHANCEMENT] Make `-query-frontend.additional-query-queue-dimensions-enabled` and `-query-scheduler.additional-query-queue-dimensions-enabled` non-operational flags in preparation for removal. #8984
78+
* [ENHANCEMENT] Remove experimental `-query-frontend.additional-query-queue-dimensions-enabled` and `-query-scheduler.additional-query-queue-dimensions-enabled`. Mimir now always includes "query components" as a queue dimension. #8984 #9135
7979
* [ENHANCEMENT] Add a new ingester endpoint to prepare instances to downscale. #8956
8080
* [ENHANCEMENT] Query-scheduler: Add `query-scheduler.prioritize-query-components` which, when enabled, will primarily prioritize dequeuing fairly across queue components, and secondarily prioritize dequeuing fairly across tenants. When disabled, tenant fairness is primarily prioritized. `query-scheduler.use-multi-algorithm-query-queue` must be enabled in order to use this flag. #9016 #9071
8181
* [ENHANCEMENT] Update runtime configuration to read gzip-compressed files with `.gz` extension. #9074

cmd/mimir/config-descriptor.json

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5754,17 +5754,6 @@
57545754
"fieldType": "int",
57555755
"fieldCategory": "advanced"
57565756
},
5757-
{
5758-
"kind": "field",
5759-
"name": "additional_query_queue_dimensions_enabled",
5760-
"required": false,
5761-
"desc": "Non-operational: Enqueue query requests with additional queue dimensions to split tenant request queues into subqueues. This enables separate requests to proceed from a tenant's subqueues even when other subqueues are blocked on slow query requests. Must be set on both query-frontend and scheduler to take effect. (default false)",
5762-
"fieldValue": null,
5763-
"fieldDefaultValue": false,
5764-
"fieldFlag": "query-frontend.additional-query-queue-dimensions-enabled",
5765-
"fieldType": "boolean",
5766-
"fieldCategory": "experimental"
5767-
},
57685757
{
57695758
"kind": "field",
57705759
"name": "split_queries_by_interval",
@@ -16066,17 +16055,6 @@
1606616055
"fieldFlag": "query-scheduler.max-outstanding-requests-per-tenant",
1606716056
"fieldType": "int"
1606816057
},
16069-
{
16070-
"kind": "field",
16071-
"name": "additional_query_queue_dimensions_enabled",
16072-
"required": false,
16073-
"desc": "Non-operational: Enqueue query requests with additional queue dimensions to split tenant request queues into subqueues. This enables separate requests to proceed from a tenant's subqueues even when other subqueues are blocked on slow query requests. Must be set on both query-frontend and scheduler to take effect. (default false)",
16074-
"fieldValue": null,
16075-
"fieldDefaultValue": false,
16076-
"fieldFlag": "query-scheduler.additional-query-queue-dimensions-enabled",
16077-
"fieldType": "boolean",
16078-
"fieldCategory": "experimental"
16079-
},
1608016058
{
1608116059
"kind": "field",
1608216060
"name": "use_multi_algorithm_query_queue",

cmd/mimir/help-all.txt.tmpl

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2001,8 +2001,6 @@ Usage of ./cmd/mimir/mimir:
20012001
The timeout for a query. This config option should be set on query-frontend too when query sharding is enabled. This also applies to queries evaluated by the ruler (internally or remotely). (default 2m0s)
20022002
-query-frontend.active-series-write-timeout duration
20032003
[experimental] Timeout for writing active series responses. 0 means the value from `-server.http-write-timeout` is used. (default 5m0s)
2004-
-query-frontend.additional-query-queue-dimensions-enabled
2005-
[experimental] Non-operational: Enqueue query requests with additional queue dimensions to split tenant request queues into subqueues. This enables separate requests to proceed from a tenant's subqueues even when other subqueues are blocked on slow query requests. Must be set on both query-frontend and scheduler to take effect. (default false)
20062004
-query-frontend.align-queries-with-step
20072005
Mutate incoming queries to align their start and end with their step to improve result caching.
20082006
-query-frontend.cache-results
@@ -2215,8 +2213,6 @@ Usage of ./cmd/mimir/mimir:
22152213
Split range queries by an interval and execute in parallel. You should use a multiple of 24 hours to optimize querying blocks. 0 to disable it. (default 24h0m0s)
22162214
-query-frontend.use-active-series-decoder
22172215
[experimental] Set to true to use the zero-allocation response decoder for active series queries.
2218-
-query-scheduler.additional-query-queue-dimensions-enabled
2219-
[experimental] Non-operational: Enqueue query requests with additional queue dimensions to split tenant request queues into subqueues. This enables separate requests to proceed from a tenant's subqueues even when other subqueues are blocked on slow query requests. Must be set on both query-frontend and scheduler to take effect. (default false)
22202216
-query-scheduler.grpc-client-config.backoff-max-period duration
22212217
Maximum delay when backing off. (default 10s)
22222218
-query-scheduler.grpc-client-config.backoff-min-period duration

docs/sources/mimir/configure/configuration-parameters/index.md

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,14 +1623,6 @@ The `frontend` block configures the query-frontend.
16231623
# CLI flag: -query-frontend.instance-port
16241624
[port: <int> | default = 0]
16251625

1626-
# (experimental) Non-operational: Enqueue query requests with additional queue
1627-
# dimensions to split tenant request queues into subqueues. This enables
1628-
# separate requests to proceed from a tenant's subqueues even when other
1629-
# subqueues are blocked on slow query requests. Must be set on both
1630-
# query-frontend and scheduler to take effect. (default false)
1631-
# CLI flag: -query-frontend.additional-query-queue-dimensions-enabled
1632-
[additional_query_queue_dimensions_enabled: <boolean> | default = false]
1633-
16341626
# (advanced) Split range queries by an interval and execute in parallel. You
16351627
# should use a multiple of 24 hours to optimize querying blocks. 0 to disable
16361628
# it.
@@ -1714,14 +1706,6 @@ The `query_scheduler` block configures the query-scheduler.
17141706
# CLI flag: -query-scheduler.max-outstanding-requests-per-tenant
17151707
[max_outstanding_requests_per_tenant: <int> | default = 100]
17161708
1717-
# (experimental) Non-operational: Enqueue query requests with additional queue
1718-
# dimensions to split tenant request queues into subqueues. This enables
1719-
# separate requests to proceed from a tenant's subqueues even when other
1720-
# subqueues are blocked on slow query requests. Must be set on both
1721-
# query-frontend and scheduler to take effect. (default false)
1722-
# CLI flag: -query-scheduler.additional-query-queue-dimensions-enabled
1723-
[additional_query_queue_dimensions_enabled: <boolean> | default = false]
1724-
17251709
# (experimental) Use an experimental version of the query queue which has the
17261710
# same behavior as the existing queue, but integrates tenant selection into the
17271711
# tree model.

pkg/frontend/v2/frontend.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ type Config struct {
5959
Addr string `yaml:"address" category:"advanced"`
6060
Port int `category:"advanced"`
6161

62-
AdditionalQueryQueueDimensionsEnabled bool `yaml:"additional_query_queue_dimensions_enabled" category:"experimental"`
63-
6462
// These configuration options are injected internally.
6563
QuerySchedulerDiscovery schedulerdiscovery.Config `yaml:"-"`
6664
LookBackDelta time.Duration `yaml:"-"`
@@ -78,8 +76,6 @@ func (cfg *Config) RegisterFlags(f *flag.FlagSet, logger log.Logger) {
7876
f.StringVar(&cfg.Addr, "query-frontend.instance-addr", "", "IP address to advertise to the querier (via scheduler) (default is auto-detected from network interfaces).")
7977
f.IntVar(&cfg.Port, "query-frontend.instance-port", 0, "Port to advertise to querier (via scheduler) (defaults to server.grpc-listen-port).")
8078

81-
f.BoolVar(&cfg.AdditionalQueryQueueDimensionsEnabled, "query-frontend.additional-query-queue-dimensions-enabled", false, "Non-operational: Enqueue query requests with additional queue dimensions to split tenant request queues into subqueues. This enables separate requests to proceed from a tenant's subqueues even when other subqueues are blocked on slow query requests. Must be set on both query-frontend and scheduler to take effect. (default false)")
82-
8379
cfg.GRPCClientConfig.RegisterFlagsWithPrefix("query-frontend.grpc-client-config", f)
8480
}
8581

pkg/scheduler/scheduler.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,19 +94,17 @@ type connectedFrontend struct {
9494
}
9595

9696
type Config struct {
97-
MaxOutstandingPerTenant int `yaml:"max_outstanding_requests_per_tenant"`
98-
AdditionalQueryQueueDimensionsEnabled bool `yaml:"additional_query_queue_dimensions_enabled" category:"experimental"`
99-
UseMultiAlgorithmQueryQueue bool `yaml:"use_multi_algorithm_query_queue" category:"experimental"`
100-
PrioritizeQueryComponents bool `yaml:"prioritize_query_components" category:"experimental"`
101-
QuerierForgetDelay time.Duration `yaml:"querier_forget_delay" category:"experimental"`
97+
MaxOutstandingPerTenant int `yaml:"max_outstanding_requests_per_tenant"`
98+
UseMultiAlgorithmQueryQueue bool `yaml:"use_multi_algorithm_query_queue" category:"experimental"`
99+
PrioritizeQueryComponents bool `yaml:"prioritize_query_components" category:"experimental"`
100+
QuerierForgetDelay time.Duration `yaml:"querier_forget_delay" category:"experimental"`
102101

103102
GRPCClientConfig grpcclient.Config `yaml:"grpc_client_config" doc:"description=This configures the gRPC client used to report errors back to the query-frontend."`
104103
ServiceDiscovery schedulerdiscovery.Config `yaml:",inline"`
105104
}
106105

107106
func (cfg *Config) RegisterFlags(f *flag.FlagSet, logger log.Logger) {
108107
f.IntVar(&cfg.MaxOutstandingPerTenant, "query-scheduler.max-outstanding-requests-per-tenant", 100, "Maximum number of outstanding requests per tenant per query-scheduler. In-flight requests above this limit will fail with HTTP response status code 429.")
109-
f.BoolVar(&cfg.AdditionalQueryQueueDimensionsEnabled, "query-scheduler.additional-query-queue-dimensions-enabled", false, "Non-operational: Enqueue query requests with additional queue dimensions to split tenant request queues into subqueues. This enables separate requests to proceed from a tenant's subqueues even when other subqueues are blocked on slow query requests. Must be set on both query-frontend and scheduler to take effect. (default false)")
110108
f.BoolVar(&cfg.UseMultiAlgorithmQueryQueue, "query-scheduler.use-multi-algorithm-query-queue", false, "Use an experimental version of the query queue which has the same behavior as the existing queue, but integrates tenant selection into the tree model.")
111109
f.BoolVar(&cfg.PrioritizeQueryComponents, "query-scheduler.prioritize-query-components", false, "When enabled, the query scheduler primarily prioritizes dequeuing fairly from queue components and secondarily prioritizes dequeuing fairly across tenants. When disabled, the query scheduler primarily prioritizes tenant fairness. You must enable the `query-scheduler.use-multi-algorithm-query-queue` setting to use this flag.")
112110
f.DurationVar(&cfg.QuerierForgetDelay, "query-scheduler.querier-forget-delay", 0, "If a querier disconnects without sending notification about graceful shutdown, the query-scheduler will keep the querier in the tenant's shard until the forget delay has passed. This feature is useful to reduce the blast radius when shuffle-sharding is enabled.")

0 commit comments

Comments
 (0)